SITL: fixed SITL for example sketches

cope with no SITL object
AP_HAL: fixed printf example build
AP_HAL: addex UART_test example sketch
AP_HAL: fixed RCOutput example
AP_HAL: added RCInput example sketch
RC_Channel: update example sketch to copy input to output
DataFlash: fixed example sketch build
GCS_MAVLink: re-generate with updated upstream mavlink
AP_Mission: ensure location options are zero at start of mavlink conversion
Plane: prevent a change altitude command from causing a sudden descent

when a change altitude command comes in while a large glide slope
altitude change is present we could end up using the old glide slope
with the new altitude. This resets the altitude offset, causing a
direct altitude change
Plane: re-enable CLI on non-APM1/APM2 boards
PX4: enable ccache on windows build
AP_NavEKF: Reduce vulnerability to ground fixed magnetic interference

Re-initialisation of the magnetic field states and yaw angle is now only performed a maximum of two times after start-up.

Once when coming out of static modefor the first time (first arm event)
Again (for copter only) when the altitude gain above the arming altitude exceeds 1.5m

this prevents magnetic interference present at arming (eg arming on a metal roof)from corrupting the magnetic field states enough to cause bad heading errors and toilet bowling on copter
Copter: run_nav_updates at 100hz on pixhawk
Copter: run_nav_updates at 50hz on Pixhawk, 25hz on APM2

Based on work by Jon Challinger (see earlier commit)
AP_NavEKF: Added getAccelNED function
AP_AHRS: Add get_accel_ef_blended function
AP_AHRS_DCM: update _accel_ef_blended
AP_AHRS_NavEKF: overload get_accel_ef and get_accel_ef_blended functions
AC_PosControl: Use blended accelerometer measurement in altitude control