build: added APM_BUILD_DIRECTORY define to build

this makes it possible to have different default parameter values for
different vehicle types in libraries, as long as you use the makefile
based build
AP_Vehicle: added defines for main vehicle types
AP_NavEKF: added a mechanism for per-vehicle-type defaults in EKF
AP_Vehicle: added APM_BUILD_TYPE() macro

this makes checking build type less fragile
AP_NavEKF: use APM_BUILD_TYPE() macro
RC_Channel: prevent a numerical exception with bad mount parameters
AP_NavEKF : Reduce GPS position innovation consistency fail threshold

This patch reduces the maximum acceptable GPS jump from approximately 16 to 8 metres
This will provide copters with more protection for close in loiter situations
AP_NavEKF : Reduce Magnetometer innovation consistency check threshold
AntennaTracker: added boardconfig object

this allows the safety switch to be disabled
GCS_MAVLink: XML for MAV_CMD_DO_FENCE_ENABLE and MAV_SYS_STATUS_GEOFENCE
GCS_MAVLink: Generated code from message additions for autofence.
Plane: Sends MAV_SYS_STATUS_GEOFENCE and also allows GCS to enable/disable fence.
Plane: FENCE_RET_RALLY param. Plane returns to rally point on breach.
Plane: Changes needed prior to merging with master identified by Tridge.
Plane: we need 5 points for a valid geofence

the first and last points need to be the same for it to be a closed
polygon
Plane: fixed reverting modes when FENCE_SET_RALLY is enabled

we need to keep the guided destination we are using
GCS_MAVLink: added MAV_CMD_DO_RALLY_LAND support.
Plane: Simple landing from a rally point.
Plane: changes to rally.pde needed after AP_Mission arrived
AP_TECS: Support slowing during rally loiter.