HAL_Linux: Add initial RCOutput driver

The functions in RCOutput.cpp are defined to access PWM over PRU sysfs
device from userspace using open, read, write and close methods.
HAL_Linux: Create Readme.md adding details on manually testing pru pwm
HAL_Linux: Add Steps to Manually test pwm channels
HAL_Linux: Correct Indentation issue
HAL_Linux: Correct indentation
HAL_Linux: Correct faulty RCOutput driver

solve compiler not looking ahead of RCOutput class for read and write methods
HAL_Linux: add rcout->init method to HAL_Linux_Class::init method
HAL_Linux: add rcout->init method to HAL_Linux_Class::init
HAL_Linux: correct AP_HAL_Linux::RCOutput::enable_ch method

change the mode of file open which was set as RDONLY mistakenly
AP_InertialSensor_LSM9DS0: SPI userspace sensor driver.

ST Microelectronics 9 DOF IMU userspace sensor driver. Some
work with the filters needs to be done.
AP_HAL_Linux: Add support for SPIDevice_LSM9DS0

The LSM9DS0 SPI device is connected to
SPI0, thereby SPIDriver class should return the
corresponding device.
AP_InertialSensor_MPU9150: Clock-based wait_for_sample() impl.

Adapt the I2C driver to a system clock based wait_for_sample()
implementation.

The sample rate of the sensor has been corrected to 800 Hz (could be
further pushed up to 1KHz).

Filters for the mag have also been created but remain commented until
the code for the mag is ready.
AP_HAL: Fixes to make the ERLE layer work
AP_HAL_Linux: Correct SPIDriver devs
I2CDriver: include readRegistersMultiple.

AP_HAL_Linux implemments this new method.
AP_InertialSensor_L3G4200D: Clock-based wait_for_sample() impl.
AP_Motors_test: Adapt to test bench available
HAL_Linux: add initial gpio library (MEGAPATCH)
HAL_Linux: add export gpio during direction set if not exported during initialisation
HAL_Linux: increase size of sysfs_path variables inside LinuxRCOutput's methods

to avoid stack smashing error