Add horizon altitude constraints to the scheduler. Add testing. Improve dbus...
Add horizon altitude constraints to the scheduler. Add testing. Improve dbus for mocks by unregistering before registering.
Artificial Horizon constraints, when enabled via the standard artificial horizon UI, will now be used by the scheduler to start or interrupt jobs. That is, if there's an artificial horizon constraint at a given azimuth, it will be used by the scheduler, along with the standard altitude constraint to determine if a job can start or continue. The scheduler uses the max of the altitude constraints as the constraint to enforce.
A unit test was added to test_ekos_scheduler_ops to verify the operation of this new feature.
There also is what's hopefully an improvement to the reliability of the scheduler testing, by adding QDBusConnection::sessionBus().unregisterObject(mockPath) before all the registerObject() calls in mockmodules.cpp, and in scheduler.cpp.