Perfmon: fixes to work with HAL
AP_Baro: check baro at exactly 100Hz

prevent waits for samples
Copter: give UARTA 512 bytes

this reduces load by allowing more contiguous writes to the serial
buffers
HAL_AVR: added specialised transfer functions for MPU6k and APM1 ADC

this saves quite a lot of time in interrupts
HAL_AVR: Improved AVRTimer micros() and millis()

- More efficient code by using 16-bit timer
- micros() now has proper 1 us resolution and less overhead
- millis() has less overhead
- removed unneeded/unwanted initializatin of timers in AVRTimer::init()
HAL_AVR: spi3 at 8mhz for mpu6k and ms5611
AP_HAL: added an optional spi.set_bus_speed() API

this will be used by MPU6000 on APM2 to change speed after init
HAL_AVR: set initial bus speed on MPU6k to 500kHz, then change to 8MHz

this should allow us to work even with older chips. See the MPU6000
product specification, which says max 20MHz for sensor and interrupt
regs, and max 1MHz for all other regs
AP_InertialSensor: run MPU6000 sensor register reads at 8MHz

run other register IO at 500kHz
Copter: higher priority for throttle loop, lower telemetry
HAL_AVR: scheduler interrupt 500hz for APM2
Copter: split up medium loop
HAL_AVR: fixed SPI bus speed switching

this fixes a bug in changing the bus speed between devices
Copter: remove unused battery analog sources
Copter: scheduler times corrections
AP_Mount: changed ahrs to be a const reference

saves a bit of code
Copter: changes for AP_Mount API
Rover: fixes for AP_Mount API
Plane: fixes for AP_Mount API
Copter: fixed build for no COPTER_LEDS