AP_TECS: added get_max_climbrate()
AP_SpdHgtControl: added get_max_climbrate()
AP_Math: prevent negative longitude scaling

for crazy locations
AP_Terrain: added terrain lookahead API

this allows for predicting altitude needed to climb over upcoming
terrain
Plane: added TERRAIN_LOOKAHD parameter

distance to look forward for terrain following
AP_Terrain: added note on CPU cost of height_amsl()
build: allow "make px4-v2-hil-upload"
autotest.py: changed 'prerequesites' to correct spelling

In a few places in autotest, the word 'prerequisites' was misspelled as 'prerequesites'. This is just a simple commit to fix that spelling.
autotest_jenkins.py: Fixed spelling of prerequisites

Same change as in autotest.py, just correcting the spelling of 'prerequisites' in a couple places from the original misspelled 'prerequesites'
GCS_MAVLink: import latest MAVLink XML
GCS_MAVLink: regenerate MAVLink headers
build: removed hil from frames list

it breaks "apm1-hil" target for copter
AP_AHRS_DCM.cpp: changed the direction of position projection to ensure correct behavious in crosswind
GCS_Mavlink.pde: Fix for a possible segfault after passing ARSPD_FBW_MIN
common.py: Removed timeout reset in wait_altitude

common.py:wait_altitude contained an if statement that, if the plane was changing altitude at all would reset tstart, making the timeout effectively useless. Removing this line allows wait_altitude to respect the timeout the user sets.
LogAnalyzer: Fix handling of the -f format option (bin, log, auto)

Previously this option was ignored.
LogAnalyzer: added help text for --format option
ArduPlane: attempt to send GCS a message when the GCS heartbeat is not detected.
GCS_MAVLink: better handling of high severity STATUSTEXT messages
AP_InertialSensor: Use return value of blocking_read to handle calibration timeouts