build: cope with config.mk from configure

the HAL_BOARD syntax doesn't work with shell with set -e
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