AP_InertialSensor_MPU9150: I2C userspace driver sensor added.

The MPU9150 is a 9 axis sensor that includes 3 accelerometers,
3 gyroscopes and 3 magnetometers. All accessible through I2C.
The AP_InertialSensor_MPU9150 class allows APM to use this sensor.
HAL_BOARD_ERLE: new abstraction layer, Erle Robot

A layer for the OS/OW Erle Robot quadcopter has been
created. For now the robot relies on the AP_HAL_LINUX
layer.
HAL_Linux_Class: patch the i2c bus when used with Erle Robot.

This is a quick fix so that the code can run properly in the
robot Erle (which uses the i2c-2 bus). In order to do so,
pass -DERLE_ROBOT to the CFLAGS variable in the Makefile.

As Tridge pointed out, the AP_HAL layer is currently not ideal.
The driver should look for the I2C address it wants on all
available I2C buses so that a function in the AP_HAL enumerate
buses, and change the AP_HAL I2CDriver API to take a bus number
as an argument to all functions.
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.
config.h: disable the MAGNETOMETER in the Erle HAL
Scheduler.cpp: Hack system_initializing to return false

It seems that there's an issue with the AP_HAL_Linux. The _initialized
variable always remain to false. It's probably due to a problem in the
HAL.
APM_Config.h: Enable the CLI by default.