[peripherals] mpu60x0: use gcc pragma to ignore cast-qual warnings

The buffer is volatile, since filled from ISR...
But we know it's ok to use it here so we silence the warning.

Also there is a bug in some gcc version that incorrectly reports this as
peripherals/mpu60x0_spi.c:118:33: warning: cast discards '__attribute__((noreturn))' qualifier from pointer target type [-Wcast-qual]
see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55383
[peripherals] ignore cast-qual for mpu9250 as well
[gps] Add Furuno NMEA based GPS
Merge pull request #959 from fvantienen/gps_furuno

[gps] Add Furuno NMEA based GPS

finally unblocking this stuff...
[omap] Added linux i2c driver

closes #961
Merge pull request #946 from paparazzi/mpu60x0_ignore_cast_warning

[peripherals] mpuxxxx: use gcc pragma to ignore cast-qual warnings

The buffer is volatile, since filled from ISR...
But we know it's ok to use it here so we silence the warning.

Also there is a bug in some gcc version that incorrectly reports this as
peripherals/mpu60x0_spi.c:118:33: warning: cast discards '__attribute__((noreturn))' qualifier from pointer target type [-Wcast-qual]
see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55383
[ms5611] Fix baro i2c transactions

Since the simple i2c driver for linux does busy waiting on i2c_submit (and not queue a new transaction),
setting the transaction status to done at the end (with a new transcaction in between) will set the status
of the wrong transaction...

Did not seem happen with the other i2c implementations (lpc21, stm32) so far, but since they add the transaction
to the queue which is handled in the I2C ISR, it could also happen there (race condition).

closes #960
[omap] i2c: disable some warnings and fix dox
[ardrone] Handle memory full FTP upload error on ardrone (#967)
[uart] Fix stupid weak errors
[gps] Fix NMEA pointer error
[gcs] also save size of widget when saving GCS layout

close #968
update changelog
Merge pull request #978 from fvantienen/bebop

UART and GPS bugs
[tests] skeleton for testing math lib with libtap

using [libtap](https://github.com/zorgnax/libtap) to create a [TAP](http://testanything.org) (TestAnythingProtocol) producer.
You can also run the test (if already compiled) with prove:
```
prove --exec '' tests/math/test_pprz_math.run
```
[tests] add libpprzmath.so to LD_LIBRARY_PATH for running tests
[travis] run math tests
[rotorcraft] force MODE_STARTUP instead of KILL until ahrs is aligned

- Go to MODE_STARTUP (which defaults to AP_MODE_KILL) instead of AP_MODE_KILL as long as the ahrs is not aligned.
- Remove AUTOPILOT_DISABLE_AHRS_KILL from all example airframes (but kept the functionality for now).

MODE_STARTUP is set to AP_MODE_NAV for the autonomous (without RC) ARDrone2.
Without AUTOPILOT_DISABLE_AHRS_KILL it will force MODE_STARTUP until the ahrs is aligned,
but still not allow to turn on the motors (as that also checks for ahrs_is_aligned).

As far as I can see this should solve #964 as long as you don't have AUTOPILOT_DISABLE_AHRS_KILL defined.
[rotorcraft] arming: only check if motors can be armed if ahrs_is_aligned
[omap] start basic spi driver

totally untested...