[ardrone] Cleanup and possible fix for occasional magneto freeze problem
[gcs] deeper zoom level for small area flights
[interrupt] settable int priority level with libopencm3
[gps] add raw ephemeris data to ubx
[tools] gen_aircraft: change order of define flags

The change of order in define flags is to prevent that these flag are erased if the firmware use = instead of += (at least the first time),
which is usually the case for test programs.
It should not make any other difference since multiple occurrences of flags are merged at the and anyway.
[stm32] update libopencm3 and hence also adc injected channel order
[chibios] add chibios-libopencm3 support

Only the realtime scheduler and SDIO driver from ChibiOS is used.
This brings the support of the SD log on Apogee boards. The current
solution is not fully satisfactory and is an intermediate solution
before switching to a 'pure' ChibiOS arch.
Some of the implementations can be cleaned and/or improved, but since it
is not a long term solution, I doubt it is worth the effort here.
Normal bare-metal libopencm3 code is of course still working.
Git submodules:
- chibios: 2.6.2
- fatfs: patched version for chibios+pprz
[optitrack] Indoor GPS
[gps_udp] rename + airframe file
[modules] geo_mag cleanup and doc improvements
[stm32][adc] fix for f1

- update libopencm3 to get adc_set_injected_sequence fix for f1
- set_sample_time_on_all_channels rather than on each channel separately since we use the same sample time for all anyway
- also use some convenience functions instead of directly reading the registers

- since compatibility with old systick was removed in libopencm3 with commit bfc65271c083ad2cd79e61901a769d8c354d863b,
  also update the systick clock source in stm32 sys_time_arch and luftboot
[extra_dl] fix extra datalink (typo, doc)
[math] some addition to math and filter lib

- generic matrix operation (float)
- cholesky and qr decomposition
- 1st, 2nd and 4th order low pass filter
[rotorcraft] fix hidden bug in ref_quat_float

thanks Antoine
[usb] add usb-storage for apogee SD logger

[usb] fix usb-storage when mounting before starting log
[export] export PPRZ datalink macros

useful when working with external project who wants to avoid coding
the datalink parser and message protocol
[conf] add rotorcraft_basic_safety flightplan

Even the default basic flightplan should have more safety features enabled in an effort to reduce risks.
It is not obvious however what increases or actually decreases safety:
e.g. killing a quad at the wrong location might prevent fly-away but might also create even higher risks.
[build] optimization flag can be set from airframe file
move energy to electrical subsystem

also publish ENERGY message on rotorcrafts
[sim] add button to enable/disable datalink