Copter: force gyro calibration on start-up
merge fix
Copter: GPS ok only when not glitching

Removed redundant checks to GPS_ok before setting flight mode to RTL
(this check is already performed inside the set_mode function)
Removed reset of home distance and bearing when GPS lock is lost, it now
remains at the last known value
Copter: bug fix to take-off in Loiter and AltHold

Always set the target altitude after take-off to be current altitude +
20cm.  This resolves a bug in which the target altitude could end up
being a couple of meters higher than the current altitude if the user
entered Loiter / Alt Hold mode before inertial nav altitude estimate had
settled.
Copter: gps failsafe disabled until we get first 3d lock
Iris: remove ATTTITUDE_FAST, PID and OPTFLOW logging
Copter: add support for singlecopter airframe

this is the newest singlecopter airframe programme.
This kind of aerial vehicles include Honeywell T-hawk and Goldeneye.
SingleCopter: formatting changes

replace tab with 4-spaces
remove blank lines
Copter: add SINGLE_FRAME definition
Copter: move SINGLE parameters to start at 75
build: support all copter frame types on all boards
build: fixed build_all for heli
build: added new copter frame type 'single'
GPS Glitch: radius and accel max to 5m and 5m/s/s
Copter: default SPIN_WHEN_ARMED to zero
Copter: add @User and @Increment to motor params description
Copter: range check pilot requested lean angles

This fixes a bug uncovered by MHA in which the receiver output 900 pwm
for roll and pitch to the APM which was interpreted as requesting an 80
deg lean angle which the copter then attempted to do!
GPS Glitch: revert accel max to 10m/s/s

This may not be the best real world value but it keeps the autotester
from failing because it recovers from the glitch before the 5second
time-out on the GPS failsafe
Copter: parameter files for beg, int, adv and camera ship
Copter: disarm routine shortcut

Extra check so we only run the disarm check when we are actually armed.
The ground stations sometimes send many disarm messages which can be
ignored