ArduCopter: tweeking so that it works with Erle
L3G4200D: fix in the test example provided.

The test coded had a call to "wait_for_sample" that expected one
argument and 0 where provided.
AP_HAL_Linux: SPIDriver, add MPU6000 support
APM_Config.h: Enable the CLI by default.
config.h: disable the MAGNETOMETER in the Erle HAL
AP_HAL: Add SPIDevice_MPU9250 as a device.
AP_HAL_Linux: Add support for SPIDevice_MPU9250

The Invensense MPU9250 SPI device is connected to
SPI1, thereby SPIDriver class should return the
corresponding device.
AP_InertialSensor_MPU9250: SPI userspace sensor driver.

InvenSense MPU9250 sensor driver and test code (available under
libraries/examples/).
AP_HAL_Linux_Class: Correct deadlock, and infinite loop in setup()

(credit to Mitch Miers <mmiers@mmiers.com>):

setup() is attempting to initialize the hardware, and while doing so
is attempting to output some text via the console (and maybe mavlink
data).  The problem is, the output isn't going to complete once a
write buffer is full, because LinuxUARTDriver::_timer_tick() doesn't
perform work until _initialized is true.  So, what happens is,
setup() (and subroutines) call LinuxUARTDriver::_write(uint8_t c),
which loops waiting for buffer space to become available (once the
write buffer is full).  The buffer never gets space, because the
UART thread is waiting for initialization to complete before it
will write out data and drain the buffer, but that doesn't happen
until setup() returns (see AP_HAL_Linux_main.h).

Refer to https://groups.google.com/forum/#!topic/beaglepilot/dQlxse11JNI
APM_Config: Add configurations to the ERLE_BOARD_HAL
AP_Baro_MS5611: Fix the test code so that compiles.

Add HAL_BOARD_LINUX and HAL_BOARD_ERLE compatibility.
AP_InertialSensor_MPU6000: Fix the test code so that compiles.