Added support for inverted flight
Checked in L1 position and TECS altitude control. Not test-flown in HIL or outdoors yet
hmc5883: add perf count, and removed unnecessary checks for -32768

we've already checked that the absolute value is <= 2048
ringbuffer: added force() and use lockless methods

this adds force() which can be used for drivers wanting consumers to
get the latest data when the buffer overflows
ringbuffer: added resize() and print_info() methods

this simplifies the drivers
hmc5883: use a RingBuffer to hold report queue

this simplifies the queue handling, and avoids the need for a
start()/stop() on queue resize
mpu6000: use a wrapper struct to avoid a linker error

the linker doesn't cope with us having multiple modules implementing
RingBuffer<gyro_report>

this also switches to use force() instead of put(), so we discard old
entries when the buffer overflows
mpu6000: fixed race condition in buffer increment
airspeed: convert to using RingBuffer class
l3gd20: convert to using RingBuffer class
mb12xx: convert to using RingBuffer class
bma180: convert to using RingBuffer
lsm303d: convert to using RingBuffer
ms5611: converted to using RingBuffer
Merge branch 'ringbuffer' of github.com:PX4/Firmware into fixedwing_l1
Merge branch 'master' into fixedwing_l1
Added pos control in startup scripts
Added position controller to default set
Make sure to loiter at final waypoint on a best effort basis
Style / code cleanup