Copter: Only play GPS tone when armed
Copter: Remove 80m altitude limit on RTL
Copter: remove do_land's use of RTL_ALT_MAX
AP_Notify: correct dos formatting
Notify: add arming failure tone
Copter: integrate Notify arming failure when using yaw sticks
Copter: Notify arming failure when using MAVLink
Copter: disambiguate the various causes of "Bad GPS Pos"

I've seen a fair number of user questions where they are confused by
"Bad GPS Pos" on their GCS/not being allowed to arm.  This change splits
the remaining causes of this fault into separate messages.

Hopefully this increases the odds of the user self diagnosing...
AP_GPS: removed GPS_406 driver

this driver was untested and badly structured. If we want to support
the 406 we can revive it and do it properly
AP_GPS: support multiple AP_GPS_Auto drivers

move all static variables into a dynamically allocated structure in
the AUTO driver which gets freed when we have found a GPS type
Plane: use AP_GPS_Auto for 2nd GPS
Rover: use AP_GPS_Auto for 2nd GPS
Copter: use AP_GPS_Auto for 2nd GPS
AP_GPS: new GPS API

This is a complete rewrite of the GPS driver structure, with a static
main driver and separate backend drivers. This will allow proper
support for multiple GPSes, and will allow parameters to be set on the
GPS object
DataFlash: convert to new GPS API
AP_AHRS: convert to new GPS API
AP_Mount: convert to new GPS API
AP_Arming: convert to new GPS API
AP_NavEKF: changes for new GPS API
AP_InertialNav: convert to new GPS API