AP_Terrain: initial structure
GCS_MAVLink: added terrain mavlink messages
Plane: added terrain object
AP_Terrain: implement height_amsl()
AP_Terrain: started on update() logic
GCS_MAVLink: keep a bitmap of what mavlink channels are active

- this will allow for looping over active channels in libraries
- expose active channel mask
GCS_MAVLink: updated terrain messages
GCS_MAVLink: added MSG_TERRAIN
AP_Terrain: added mavlink transport of terrain data
Plane: incorporate terrain mavlink calls
AP_Terrain: added debug code
AP_Terrain: request grids around current grid

this ensures we have grids ahead of time
AP_HAL: added HAL_BOARD_TERRAIN_DIRECTORY
AP_Terrain: added disk IO for terrain data
AP_Terrain: added checking and reporting messages

this allows the GCS to check the status of the terrain system
GCS_MAVLink: added TERRAIN_CHECK and TERRAIN_REPORT messages
AP_Baro: minor improvements to Baro HIL code health check
Plane: handle TERRAIN_CHECK requests
Plane: fixed txsize check for airspeed info

prevent underflow
Copter: added AP_Terrain library