DataFlash: common Log_Write_Camera

pair programmed with Craig Elder
Copter: use common Log_Write_Camera

pair programmed with Craig Elder
Copter: flag current alt as relative

This is required so common Log_Write_Camera can calculate relative and
abs altitudes provided by either copter or plane

pair programmed with Craig Elder
Rover: use common Log_Write_Camera

pair programmed with Craig Elder
Plane: use common Log_Write_Camera

pair programmed with Craig Elder
GCS_MAVLink: camera feedback mavlink messages

CAMERA_EVENT and CAMERA_FEEDBACK messages, and a couple of enums they
use (CAMERA_EVENT_TYPES and CAMERA_FEEDBACK_FLAGS)

Adjusted some types and added more explicit descriptions of units as
suggested on the call last week.

I will add camera parameter list/get/set functionality as suggested
using the existing parameter mechanism and component IDs rather than
the new CAMERA_INFO messages I had proposed.
GCS_MAVLink: re-generate MAVLink headers
GCS_MAVLink: merge in upstream changes
GCS_MAVLink: re-generate headers
build: fixed TOOLPATH on MacOS

thanks to oriondream for this fix

fixes issue #1151
Copter: use relative_alt flag when decoding change_alt command
AP_Common: remove unused location mask definitions
AP_Common: add LOWBYTE, HIGHBYTE macros
AP_Mission: squeeze loiter turns radius into high byte of p1
AP_Common: add example sketch
Copter: loiter turns radius from command's p1 field
Plane: loiter num turns from low byte of p1

This limits the maximum number of turns to 255 for plane
AP_RCMapper: Added warning to RCMAP_THROTTLE

Warning user that changing RCMAP_Throttle could be dangerous