Copter: add LAND to aux switch

Fix aux switch AUTO and RTL so they resets flight mode if still in those
modes when switch brought low
Copter: firmware update to AC3.1-rc5
Updated build instructions & script.

Updated the README and the install-prereqs-ubuntu.sh script to reflect
changes in the PX4 build steps and the PX$ & NuttX repository used to
build ardupilot.
Update README.md

Added detail for compiling with new version Arduino from version 3.1 /2.75
Rover: removed demo_servos()

doesn't do much good on rovers, and just slows boot
Plane: fixed setting of waypoint when not in AUTO

this fixes a bug where the next waypoint is set incorrectly if set via
MAVLink when not in AUTO
AP_AHRS: debounce the GPS/compass consistency test

we will only consider the compass inconsistent with GPS if it is off
for more than 2 seconds
AP_BattMonitor: added set_monitoring() API

needed for test sketch
Copter: bug fix for loading missions while armed
Copter: reenable optical flow by default

correct optflow test compile error
Copter: remove unnecessary Log_Write_Optflow
HAL_SITL: get the ublox GPS timestamps right in SITL
AP_GPS: added support for GPS time in week/millisec

also adds time_epoch_usec() for MAVLink SYSTEM_TIME
HAL_SITL: properly emulate timestamps on ublox and MTK
AP_InertialNav: updates for new GPS API
DataFlash: updates for new GPS API
Plane: added MAVLink SYSTEM_TIME message
Copter: added MAVLink SYSTEM_TIME message
Rover: added MAVLink SYSTEM_TIME message
AP_GPS: added fake time to fake GPS lock