PX4: added FMU bootloader images to ROMFS

this makes it much easier for users to update their bootloaders
PX4: moved UART handling to its own thread

this prevents slow writes to the SD card from interfering with MAVLink
or GPS serial communication
PX4: boot the FMU bootloader in ROMFS
autotest: added comment for typical command line
Rover: raise GPS serial buffer size
AP_GPS: use the mask bits to only set dynamic model

this ensures we don't try to change any other CFG_NAV5 settings
AP_GPS: reset _fix_count to 0 on nav settings update

this makes it run every 20s exactly
PX4: enable rgbled on FMUv1
autotest: log versions of trees in build log
Rover: Correction on SR0 & SR3 parameter description.
Copter: Correction on SR0 & SR3 parameter description.
Plane: Correction on SR0 & SR3 parameter description.
build: avoid rebuilding PX4 archives for each copter type

this should make build_binaries.sh much faster
PX4: avoid nsh redirects in if statements

this helps avoid FAT filesystem corruption
Revert "Copter: Corrected SR0 & SR3 parameter descriptions"

This reverts commit 6568234018ccadd0211c0c98b02b0ce5b90d5e92.
AP_Compass: ignore COMPASS_ORIENT for internal compass

this means if COMPASS_ORIENT is not 0 and the external compass fails
to start on boot we don't end up with a bad compass orientation
PX4: move PX4IO update to before any sensors start

this seems to make the update much more reliable, possibly as it
avoids an interrupt load from l3gd20 driver
AP_InertialSensor: fixed example build
GCS_MAVLink: added FENCE_ACTION_GUIDED_THR_PASS
Plane: added FENCE_ACTION=3 behaviour

this makes it safer to enable the geofence as a receiver failsafe
mode. It retains manual throttle control, so if it triggers on the
ground due to the receiver losing signal from the transmitter then the
throttle can be kept low, preventing an unexpected takeoff.