Copter: set UARTs non-blocking at end of initialisation

Previously we were setting to non-block after arming but this reduce the
chance of bumping into a NuttX USB driver issue that can cause the uart
to become unresponsive and also makes Copter consistent with Plane
AC_AttControl: re-enable rate feedforward by default

Roll and Pitch rate controllers became sluggish without feed-forward
enabled.
VARTest: fixed build with compass changes
Replay: fixed build of replay tool

changes to compass API
Copter: fixed typos in parameter markup
AC_AttControl: fixed typo in parameter description
GCS_Mavlink: moved some more mavlink functions to GCS_Common.cpp
Plane: update for new API
Copter: changes for more common mavlink code
Rover: changes for more common mavlink code
AntennaTracker: changes for more common mavlink code
GPS: exclude SIRF and NMEA on APM copter build

This only works for the centralised builder, the modified Arduino IDE
will still include the NMEA and SIRF drivers meaning it will require
approximately 4k additional flash which may push us over the limit on
the APM2.  Users will instead need to exclude other features to get
below the APM1/2 flash limit.
Copter: Acro balance fix
AC_AttitudeControl_Heli: Remove ToDo.  Rate controllers should always run even if throttle is zero.
AP_MotorsHeli: Add To-Do. Swash setup hasn't seemed to work right for a while, this might be why.  Confirm later.
TradHeli: Force recalc scalers after setting main loop time in MotorsHeli so that ramp scalers are right for 32-bit.
Parameters: Update Tune Comments with new options
TradHeli: Move two static bools into heli_flags structure to save 2 bytes RAM.
AC_AttitudeControl: Fixup some minor mistakes in AC_PosControl
build: added some debug