Support for mavconsole (AP_HAL) and Arducopter arm/disarm


98f1fdb implements what I'm tenatively calling 'mavconsole', which uses the MAVLink DATA16/DATA32 messages to tunnel plaintext messages back and forth to the vehicle. This is like statustext except bidirectional and supporting smaller packets (more efficient).
This could be extended to use DATA64 and DATA92 but so far I haven't seen a need.
mavconsole is heavily used as the standard debugging method for the AP_HAL, where a special console buffer prevents having to use direct Serial.prints which corrupt the mavlink stream.

2c74f17 implements the 'arm' and 'disarm' commands on the console, which will arm and disarm the motors on an ArduCopter. This implementation depends on changes to the mavlink repo's mavutil.py, which will be submitted separately as a pull request to that repo.