Add code to initialize I2C, not working yet

The transmit function seems timeout, and L3G4200D cannot be read before
write to configuration register, so the read operation hadn't test
Switch to C11 for `0b` binary literal representation.
I2C: successfully read from L3G4200D.

Read X,Y,Z axis attitude from L3G4200D (16 bit each axis),
I2C works with 100kHz baud rate.
Clean up main.c, Move GY-801 sensor code to corresponding .c file

Sensor code on main.c is moved to gy801.c named `GY801_Task`.
Helper function moved to misc.c, declaration at main.h.
Clean up some I2C function for the use of operating system(not done)
Seperate read and processing task, switch to FIFO mode.
.clang_complete: Add FreeRTOS include
Merge branch 'master' into GY-801-sensor
Move sensor code to separate directory

Plan to write each sensor code in separate .c file, attitude calculate
in another file.
Fix indent style

Stick into 80 column rule.
Merge branch 'master' into GY-801-sensor

Conflicts:
	src/main.c
	src/sensor/l3g4200d.c
	src/sensor/sensor.c
Merge branch 'master' into GY-801-sensor
Refactor Sensor code, separate each IC.
Add template for 3 another sensor
clang_complete: Add missing include
Merge branch 'motor_control'