Copter: Remove CH7 & CH8 Enable / Disable of GeoFence
Tools: add additional divide timing
TradHeli: Rate PID Improvement. Limit Integrator wind-up when PID output is saturated. Also a little bit of general clean-up for readability.
TradHeli: Change to throttle controller to allow swash plate collective to move, even if disarmed, if we are in Acro or Stab.  This is slightly dangerous... as a user could cause a problem if they do not follow the proper usage procedures.  If they do not route the ESC through the APM, but instead direct to Rx.  And then if they do not Arm, they could take off in Stab mode while disarmed, but then when they switch to Alt_Hold, it will drop the collective to the bottom and they will fall.  This can be saved by switching back to Stab.  And it requires operation outside of the normal operating procedure.

This change is being made because most heli users expect to be able to check the swash plate operation before arming and taking off.
TradHeli: Remove unused RSC Mode 3.
TradHeli: Creating motor_runup_complete bool which is to confirm that the heli motor is running. This will be used for advanced features in the future.
TradHeli: Fix Heli rate controller filter rates.
TradHeli: Creating new unified roll/pitch rate controller.
Copter: check set_mode for failure

Previously if set_mode failed it would return the copter to stabilize
mode.  With this commit set_mode returns a true/false indicating whether
it succeeded or not so the caller can make the decision as to the
appropriate response which could be to stay in the current flight mode
or try another flight mode.
Revert "Copter: Remove CH7 & CH8 Enable / Disable of GeoFence"

This reverts commit e25b8933f33e60d1281f20198ba8c020b5c3ea5c.
Copter: WP_YAW_BEHAVIOUR param update for Look Ahead
AP_Math: add rotateXY
AP_AHRS: use rotateXY for speed

Saves 0.1ms at 100hz
Copter: Failsafe GCS typo in comments

replaced GPS by GCS word in different comments locations
Copter Motors: replace limit bitmask with structure
Copter: remove unused earth frame rate controllers
LeadFilter: removed this unused library

This was used to project the GPS position forward to compensate for lag
but this has become unnecessary with the introduction of the inertial
nav in x and y axis.
Plane: move failsafe variables into a structure

this makes the logic a bit easier to follow
Plane: don't read control switch when ch3 is in failsafe

use ch3_counter not just the final flag
Plane: check the control switch a bit more often

faster response to mode changes