Added the ability to set the digital relays on the APM
Merge branch 'master' into enable_set_relay
Updated SLUGS message definitions to work with current version.
pymavlink: calculate distance as well as time in mavflighttime.py
Allow compiling on Visual Studio 2012 and earlier.
common.xml: added AHRS health status bit

this allows the AHRS subsystem to report its health. It would report
as unhealthy if (for example) EKF diverged and DCM tookover while it
recovered
MAVUtil: Recognize Tri, Hexa, Octa and Tradheli as using the ACM Mode Map

Without this change, MAVProxy et al doesn't work for copter frame types
other than quad.  This manifests as an inability to change modes and an
exception whenever one types an unrecognized command (as MAVProxy tries
to map them to mode commands by default)

To have true coverage of the ACM codebase, MAV_TYPE_ROCKET would need to
be added to the list also as ACM uses this for FRAME_SINGLE (MAVLink not
providing an actual Single class). I don't want to be the one to extend
that hackery in to generic MAVLink code though!

Types that are copters but aren't implemented by ArduCopter (e.g.
COAXIAL) are similarly left out of this PR.
pymavlink: fixed SERIAL_CONTROL support for new python array semantics
pymavlink: workaround a kernel baudrate set bug

sometimes some Linux kernels don't set the baudrate correctly
pymavlink: closer to supporting python3
MAVExtra: Add a version of mag_field that works for Dataflash messages
MAVExtra: Teach distance_home to deal with DF GPS messages

The distance_two function that underlies distance_home already
knows how to deal with APM DF GPS messages, this patch just
has to teach distance_home about the Status field replacing
fix_type to triage the data
mavflightmodes: Print a summary of time spent in each mode.
pymavlink: extract separate missions in mavextract
pymavlink: raise version for release
pymavlink: added gains to demix functions
pymavlink: fixed X range calculation for multiple data files

this prevents the X range getting a too many ticks exception when we
are plotting multiple files with different time ranges.

Also adds --multi option to make multiple file plots not change colour
per file
pymavlink: Allow headless operation in mavgraph by providing an output file name.
ardupilotmega: merged in motor test command from ardupilot
common.xml: added MAV_CMD_DO_INVERTED_FLIGHT

used to control inverted flight in a mission