AP_HAL: added board_voltage AnalogIn method

this makes it easier to get the board voltage from any library,
without having to allocate another analog channel object
Plane: use new board_voltage() method
Rover: change to new board_voltage() API
Copter: change to new board_voltage() API
AP_Airspeed: use raw (signed) airspeed

this allows us to detect when the user has the ports the wrong way
around, and mark the sensor unhealthy
GCS_MAVLink: fixed a log download bug for repeated downloads

we were not resetting the offset to 0 correctly
Plane: moved the always log flag to 1<<16

this prevent problems with transferring the bitmask as a float
AP_HAL: added get_flow_control() API
GCS_MAVLink: run a bit faster on serial ports with flow control

with flow control we can afford to push the radio a bit harder
GCS_MAVLink: return early from log send if no log data to send
DataFlash: work around a NuttX bug

the seek offset of files can get badly mucked up when it crosses
cluster boundaries. We need to fix this in NuttX, but meanwhile this
works around the bug. It seems that doing a lseek(fd, 0, SEEK_CUR)
fixes the seek offset in the file.

The bug seems to first happen at an offset of 315392. It also
doesn't happen every time - it is more likely to happen on the first
log download after booting
GCS_MAVLink: added POWER_STATUS message
GCS_MAVLink: regenerate MAVLink headers
GCS_MAVLink: added send_power_status()
DataFlash: added power status logging
AP_HAL: added servorail_voltage and power_status_flags() API on AnalogIn
Plane: log power status on Pixhawk
Rover: log power status on Pixhawk
Copter: log power status on Pixhawk
AP_Airspeed: added ARSPD_TUBE_ORDER parameter

This allows for either order of tube connection by default, but the
order can be specified if need be