Control: add a flag to indicate a submodule was not previously run

Some conditions should be handled when passing control from one mode
to another.  Possibly later this should be replaced with either
passing the previously active control mode to the submodule or
alternatively having a method called when a controller is not
used to allow it to do specific processing.
Tablet Control: use the reset_controller flag to update positions

Previously when toggling into tablet control with position hold or
land the position was only grabbed on the first entry.  This could
result in using a stable position setpoint.
Table Control: Position hold behaves like normal switch

Grab the current altitude as the setpoint, and not a hardcoded value.
Control: make sure position hold always grabs current location

When moving from another tablet mode that uses position hold (e.g.
followme) to position hold ensure the current location is used
instead of the previous behavior which was to leave the pathdesired
unchanged.
SanityCheck: Make sure INS is in a navigation safe mode

This prevents attempting to fly position hold while in either the
complimentary filter or indoor mode while they are not tested.
Absolutely no matter what indoor mode should not be permitted.
SanityCheck: exclude check for cc3d

The revolution flag needs to be renamed to something
like non-cc3d
Control: fix for cc path

I forgot to update that #ifdef'd function
Sanity check: need to run when StateEstimation changes too
Merge pull request #453 from peabody124/navigation_safety

SanityCheck: Make sure INS is in a navigation safe mode
Stabilization: make sure yaw attitude always takes shortest path

There was a subtle bug in the wraparound logic for yaw control.  Both
desired and actual are specified from -180 to 180.  In the case of
desired being say -100 and actual being 100 then the error would be
-200.  After adding 180 it would be -20.  Normally modulus is defined
as being the possitive remainder, but fmodf preserves the sign of the
input so in this case instead of producing 340 it produces -20.

To correct this we just add another 360 before the modulus (which will
be removed).  This ensures all combinations of actual and desired will
result in the appropriate sign.

Fixes #464
Remove PI_MOD function

This wasn't used anywhere and actually would have suffered the same
bug as #464
CameraPOI: Fix bearing edge condition at -180/180

This code suffered from the same bug as #464 which could result in
taking the long path to get to a given bearing.  I thought I'd
observed this while testing.
Math: create a circular modulus function

Used to calculate equivalent angle from -180,180 from any angle
from -540 to infinity.
Stabilization: use the circular_mod function

Removes cryptic math from main code path.
Stabilization: use circular modulus for poi mode

This is in a separate commit so the other can be cherry-pick'd
to next.
Stabilization: use bound_sym function

Stabilization was redefining a local copy of the identical
function.  Now it uses the library version.
Sanity check: fix a sim_posix compile error that slipped through

Jenkins was down and I screwed up :(
Merge pull request #465 from peabody124/attitude_yaw

Stabilization: make sure yaw attitude always takes shortest path
Merge pull request #454 from peabody124/control_unused

Control: add a flag to indicate a submodule was not previously run
Qt5: for windows need to copy platform dlls