AP_Rally library
AP_Rally: Minor fixes to AP_Rally after initial testing

- If a Rally point is being used, always respect the altitude set by the
user (don't take the max of that and the home point altitude).

- No need for constructor to pass in size of RallyLocation struct
Plane: Now using AP_Rally library.
Copter: integrate AP_Rally
Rally: define RALLY_WP_SIZE and RallyLocation
Common: remove RallyLocation defintion
Copter: remove RALLY_WP_SIZE definition
Plane: remove RALLY_WP_SIZE definition
Copter: bug fix AP_Rally param directory
AP_GPS: prevent writing GPS log headings multiple times
AP_NavEKF: fixed some matlab ! -> ~ typos

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
Replay: cope with too many log format msgs
APM_Control: logging_started needs to be static

prevents writing log headers twice
AP_HAL: added set_failsafe_pwm() API

this allows the PWM values for FMU firmware failure to be setup
RC_Channel: added setup_failsafe_trim_all() function

sets all channels to output trim values on FMU failure
Rover: setup failsafe trim values for if FMU firmware dies
Plane: setup failsafe trim values for if FMU firmware dies
Copter: STB_RLL_P and STB_PIT_P @Range 3 to 12
RC_Channel: added support for LimitValue settings

this allows you to set a channel failsafe or radio_out to a limit
value
APM_OBC: setup termination values in PX4IO

this sets up the PX4IO board with failsafe values in case the FMU is
not running