DataFlash: moved UBX logging headers to DataFlash
AP_GPS: moved UBX log headers to DataFlash

headers were not always being written
HAL: Add two new SPI devices

SPIDevice_LSM303D and SPIDevice_L3GD20 added to the enum.
The code has also been formated.
HAL_Linux: LSM9DS0 legacy driver moved to AP_InertialSensor/LSM9DS0/

The new LSM9DS0 driver will consist of the AP_InertialSensor_L3GD20 and
the AP_InertialSensor_LSM303D. For that reason the old LSM9DS0
(consisting of gyro and accel+mag implemented on a single class) has
been moved to a folder.

Legacy LSM9DS0 didn't probe to receive "correct" data.
AP_InertialSensor: L3GD20 driver added

L3GD20 gyro userspace sensor added. The driver constructs
over the implementation of the PX4 Dev Team at
https://github.com/diydrones/PX4Firmware.
AP_HAL: Add support for L3GD20
HAL_Linux: Add L3GD20 to the AP_InertialSensor header
AP_InertialSensor: INS_generic example, add support L3GD20
AP_InertialSensor: Driver added for the LSM303D
AP_HAL_Namespace: Change LSM9DS0 into two different devices.
HAL_Linux: Duplicate `#include <unistd.h>`deleted
HAL_Linux:duplicate `#include <sys/types<`deleted
HAL_Linux: minor syntax fix in UARTDriver

Typo noticed by @hcervino.
Tools: Change sensor configurations easily.

This shell script allows to change the sensor configuration
(for now just supports IMU changes) so that the autopilot is
compiled for different combinations of sensors. This has probed
to be useful with Linux-based boards (e.g.: PXF, Erle-board)
that include serveral, different sensors for each kind.
HAL_Linux: Add FRAM HAL driver support for non-volatile storage

Support for File System starage mode is retained, appropriate Storage
mode can be set by defining USE_FS_STORAGE for File System storage
aand US_FRAM_STORAGE for FRAM storage.  Note: FS storage and FRAM
storage are never synced as of now.
AP_HAL: Add option to select Storage type AP_HAL_Boards.h

user can set HAL_STORAGE as USE_FS or USE_FRAM inside AP_HAL_Boards.h as per his/her choice or board setup
Tools:HAL_Linux_Essentials: Add PRU side of code for RCinput to run on PRU0

PRU0 with rcinpru0 firmware will be timing pin state changes and loading it inside ring buffer maintained inside SHARED_RAM at 0x12000 offset
Tools:HAL_Linux_Essentials:add rcinput test code

the test code performs continuous reads from ring buffer shared with PRU0
Tools:HAL_Linux_Essentials: store pin status during pulse instead of status after pulse
HAL_Linux: Add support for PPM input to HAL_Linux

rcin thread continuously scans for values inside ring buffer maintained by pru with rcinpru0 firmware.