HAL_PX4: fixed a scheduler bug that affects UART IO

we need to detect if we are in a timer task using a PID, not a
flag. This is the same type of bug I fixed last week, but now fixed
properly.

The bug could well be the "USB bug" that Craig has been chasing
AutoTune: bug fix and GCS messages
Copter: bug fix to convert old batt params to BATT_ lib
sensor hil fix
Copter: Correctly set limit.lower flags for Tricopters

Resolves #536
Copter: autotune set original gains on reset

Update from Leonard
Copter: autotune bug fix for starting autotune

log completion to dataflash
Copter: slow start motors from 0 to min throttle
Copter: pre-arm check speed is less than 50cm/s
Rover: added SKIP_GYRO_CAL option
Rover: bring MAVLink stream handling inline with plane
Rover: slow parameter send check to 5Hz

this solves an issue with current MP
Copter: only allow autotuning when flying
AP_HAL: add ignore_errors to I2C driver
ToshibaLED: ignore I2C errors during init
Copter: fix  symmetry in stability patch for Tricopters

Removes the "Increase opposing motors by 1/2 the overage of the high
motor" logic and merely moves all 3 motors down by the same amount if
one is over out_max. This eliminates the asymmetric scaling of
the previous logic when more than one motor is over out_max. This
resolves #537
Copter: update @Units to pwm on throttle params
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.