Copter: Updated GCS_FAILSAFE Parameter Description
AP_Compass: fixed HMC5883's initialisation code
AP_HAL: added Zynq platform type
HAL_Linux: Basic Zynq Linux platform support

Preliminary support for Zynq/Linux on the 'ZyboPilot' HW platform.

see https://github.com/trjw/ZyboPilot-bsp for the PetaLinux / Vivado project
files.

At this stage CPPM/Pulse in and PWM out work, and in CLI mode the passthru
test works correctly.

The platform has passed minimal smoke testing in HIL mode.

ZYNQ IS NOT FLIGHT TESTED YET!  FLY THIS PLATFORM AT YOUR OWN RISK!

Signed-off-by: John Williams <john@whelanwilliams.net>
Build: added zynq make target
autotest: raise timeout again
AP_HAL_Linux: Scheduler reboot fix

exit from the autpilot when reboot is commanded.
The software assumes that the code is being
launched in an infinite loop thereby an exit
will make it reboot.
AP_HAL_Linux: Ublox SPI stub
AP_HAL_Linux: changed SPI mode for MPU9250
HAL_Linux: add prototype RCInput code for Navio
HAL_Linux: fix types, remove printfs in GPIO_RPI
AP_HAL_Linux: fixed LinuxGPIO_RPI::read()
AP_NavEKF : Improved Magnetometer Error Handling

(Plane Only) If the yaw and GPS heading disagree by more than 45 degrees on takeoff, then the magnetometer is declared as failed. The heading is then reset based on the difference between GPS ground track and stgate velocity vector.
Magnetometer fusion uses corrected data and bias states are initialised to zero. This allows the compass to be switched in flight.
For persistent compass errors that trigger a timeout, the compass is not permanently failed, however for non-forward fly vehicles the compass weighting is reduced.
AP_NavEKF: Clean up flight detector logic
Tools: Updated gcc-arm compiler to version 4_7-2014q2

As suggested in the thread at the following link:
https://groups.google.com/forum/#!topic/drones-discuss/hiD23c3w6xQ
RC_Channel: make flaperson range from -4500 to 4500
Plane: fixed failsafe pass-thru for APM2
Plane: fixed trim and range handling for flaperons
Plane: fixed comment on negative flaps
ArduPlane failsafes: remove rc_override_active

- rc_override_active is never set anywhere in the ArduPlane code; it's only used for Copter and Rover. Removing it significantly simplifies the failsafe code.
- modified code has been tested in SITL. Heartbeat and RC failures in AUTO, CRUISE, and RTL modes (covering the three cases in the failsafe check functions) have been simulated with FS_LONG_ACTN = 0, 1, and 2, FS_SHORT_ACTN = 0, 1, and 2, and FS_GCS_ENABL = 0, 1, and 2. In all cases the results are identical to those with the original code.