Copter: increase max loiter speed to 7.5m/s
InertialNav: reduce XY TC to 2.5 (was 3)

More objective testing is required to arrive at the ideal number but 2.5
seem better than 3.0 at reducing "toiletbowling" and anecdotal evidence
does not show much downside.
Copter: increase max loiter overshoot to 8.12m
AP_Baro_PX4: fixed baro driver to run at full rate

we were skipping samples due to a timer handling bug. It now checks
for new samples at 100Hz
AP_Compass_PX4: fixed handling of a saturated compass

a saturated compass is now marked unhealthy, rather than causing the
code to spin waiting for a valid sample. This fixes a problem with
strong magnets causing the main flight loop to stop
AC_Fence: add backup fence

Also includes fixes from code review with Tridge
Copter: use mavlink fence message

Note: we should consider moving this send via mavlink into the fence
library
GCS_MAVLink: typo in message definition
Copter: update firmware version and release notes for 3.0.0-rc1
Fix Param description
AP_Param: use const refs in a few more places

reduces code size by a couple of hundred bytes
libraries: replace constrain() with constrain_float()

this makes the type much more obvious. Thanks to Tobias for the
suggestion.
Rover: replaced constrain() with constrain_float()
Copter: replaced constrain() with constrain_float()
Plane: replaced constrain() with constrain_float()
Copter: fixed some uses of constrain_float() to be right type
AP_Compass: added COMPASS_ORIENT parameter, to support external compasses

this allows the user to configure the compass for any orientation
supported by our rotation library
Rover: updates for new compass API
Copter: updates for new compass API
Plane: updates for new compass API