px4io: configure APM use of px4io without RC handling
APM: configure px4io for no RC handling and no mavlink pipe
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-conversion' of github.com:tridge/Firmware into fixedwing_l1