AP_Baro: skip timer if we don't get the SPI semaphore
AP_InertialSensor: ensure we always have the SPI semaphore for MPU6k
AP_InertialSensor: poll for new data in num_samples_available()

this lowers the latency for new data
HAL_AVR: make _taken volatile
AP_HAL: added WARN_IF_UNUSED macro

useful for key functions
AP_HAL: mark semaphore take operations as WARN_IF_UNUSED

this prevents common bugs
AP_Compass: ensure we check we got the semaphore