AP_NavEKF : Reduce ripple in estimates that can cause audible copter motor 'pulsing'

This patch reduces the level of 5Hz and 10Hz 'pulsing' heard in motors. See https://groups.google.com/forum/#!topic/drones-discuss/a9kYs2NkUXI. 
This is due to GPS, altimeter and magnetometer fusion which can cause a small 5Hz and 10Hz ripple on the state output.

the solution is to apply attitude, velocity and position state corrections from GPS, altimeter and magnetometer measurement corrections incrementally in the interval from receiving the measurement to the predicted time of receipt of the next measurement. During periods of rapid rotation,  corrections to the quaternion states are applied immediately and not incrementally to avoid attitude errors.

Time stamps are now explicitly initialised to the current IMU time to avoid unwanted activation of timeout logic on filter start and the various calls to the hal.scheduler->millis() object have been consolidated.


The previous implementation used a fudge where the innovation variances were scaled by the ratio of the fusion rate to measurement rate to account for the fact that data was being fused more often than it was measured. Now this fudge has been removed, the gates need to be adjusted to so that the error sensitivity remains the same.