Copter: disarm after completing RTL

Note that an RTL command executed in AUTO mode will also disarm when it
lands and pilot's throttle is put to zero and no further commands will
be executed.  This is normally not an issue because missions generally
end with an RTL (instead of having the RTL in the middle) and a work
around is available in that the LAND command could be used instead of
RTL.
Copter: RTL ensures heading is back to initial heading

This fixes the issue in which a short RTL_LOIT_TIME could cause the
vehicle's heading to be caught between it's heading when it arrived at
home and the initial armed heading.  With this fix it now waits above
home until the timer has run out AND the heading is within 2degrees of
the initial armed heading.
Copter: disable Parachute by default

This saves 1k of flash and we are desperately low on the APM1/APM2.
Hopefully we can find savings somewhere and re-enable it by default.
Parachute: clear release time when enabled

This resolves an issue in which the parachute could be suddenly released
when the user enabled the parachute.  The sequence that could have
caused this bad behaviour were (1) the parachute is triggered (2) the
user disables the parachute in the 0.5sec between the trigger and the
actual release, (3) the user re-enables the parachute and the old
release time from (1) is used.
Fix auto doc group names
Copter: roll and pitch nudging in RTL descent
AC_WPNav: add clear_pilot_desired_acceleration

This allows quickly clearing out the pilot desired acceleration for
loiter contoller.
Copter: RTL always land if in radio failsafe

Resolves issue in which vehicle would get stuck at RTL_ALT_FINAL if
failsafe occured.
Also clear out pilot acceleration from loiter controller if failsafe
occurs during the final descent.
Copter: Loiter clears out pilot acceleration when failsafe occurs

This ensures invalid pilot desired accelerations are cleared from the
loiter controller.  This is probably not strictly necessary because the
vehicle should switch out of Loiter and into RTL during failsafe.
AC_Fence: add 10sec manual recovery

This resolves issue #461 by giving the pilot a minimum of 10 seconds to
attempt to manually recover before the autopilot will attempt to retake
control to bring the copter home or land.
Copter: integrate 10sec manual recovery after fence breach
Copter: remove unused variables from fence.pde

saves 2 bytes
Plane: moved auto mode variables to auto_state
GCS_MAVLink: prevent uninitialised bytes being written to a serial port
Replay: fixed ahrs.set_fly_forward() in Replay for copter
Copter: GPS failsafe ensures LAND is pilot-controlled

This resolves issue #880 in which if a GPS failsafe occurred while the
vehicle was already in LAND mode, the LAND would continue to be GPS
controlled LAND instead of pilot-controlled LAND
Copter: RTL alt should not be above fence alt

Resolves issue #435
If the altitude fence is enabled, when the vehicle RTLs it will return
at the lower of the RTL_ALT and the FENCE_ALT_MAX
Copter: land_do_not_use_GPS has no return value
Copter: use get_current_nav_index()
Copter: fence enable/disable via MAVLink