AP_L1_Control: added lateral acceleration interface

this will be used by the Rover code for steering
AP_L1_Control: use a better ground speed estimate at low speeds

this should prevent a rover going in the wrong direction at the start
of a mission
AP_L1_Control: use projected position for turns
AP_Math: update location code to avoid float rounding

this avoids manipulating global coordinates as float variables. Using
a float reduces our precision from 1cm to about 70cm.

This also adds location_diff() which will be used in the L1 controller
to avoid global positions in floats
AP_L1_Control: avoid using float global coordinates

this increases the navigation precision of rovers using L1 control
down to the centimeter level
AP_AHRS: added get_position_lag() call

provide position lag to libraries
AP_L1_Control: adjust position for GPS lag

this should help for rovers
AP_L1_Control: removed _maxf() and _geo2planar() functions

not needed any more
AP_L1_Control: use get_position()
Plane: check for parameter send at default of 10Hz

50Hz can cause overruns, especially on PX4 which can drain the tx
buffer very rapidly
Plane: change default modes to FBWA not STABILIZE
autotest: added command line args to test script
AP_L1_Control: use a reference to AHRS

makes code a bit simpler
Plane: use reference to AHRS
docs: added doxygen support and doxygen build scripts
SITL: added simulated NMEA GPS

useful for validating the NMEA GPS driver
docs: fixed project names in doxygen output
SITL: update for new SIMSTATE message
AP_GPS: improved the precision of the NMEA driver

this brings the NMEA driver to the same lat/lon precision as the uBlox
driver (approx 1cm)
GCS_MAVLink: updated to latest upstream mavlink defintions