AP_Rally: Added one getter method and made a utility method public.
AP_Mission: added get_current_nav_index() function

this will return 0 when there is no current command, which is what is
expected in MAVLink when there is no mission

(it prevents the text to speech announcing "65 thousand 6 hundred and
thirty five", which is quite annoying!)
Plane: use get_current_nav_index()
Rover: use get_current_nav_index()
AC_PosControl: stop I term build-up when motors at max
AC_PosControl: add get_accel_z method
AC_WPNav: bug fix to limit target point from moving beyond leash

Also pull Z-axis acceleration from position controller instead of using
#define
AC_PosControl: bugfix for freezing I-term build-up
Copter: control_hybrid initial version
Copter: integrate skeleton Hybrid mode
Copter: add hybrid state struct, formatting changes
Copter: refactor and split out wind compensation
Copter: add Hybrid parameters
Copter: restructure hybrid into more states
Copter: add hybrid_mix_controls

Allow wind comp estimate to run when vehicle travelling up to 30cm/s
(was 10cm/s)
Copter: hybrid works for 100hz and 400hz
Copter: allow arming, disarming in Hybrid mode
Copter: Hybrid estimates wind when speed under 10cm/s
Copter: Hybrid 10hz updates to wind comp lean angles
Copter: Hybrid fix wind_comp time constant

Corrected timer init values and wind_comp time constant to get the best
behaviour

Check if wider deadband required (current is 30).
We were using a comparison to a 70-100 cdeg deadband in our initial
code. The deadband was there to avoid unwanted switches in case of
inaccurate fingers/radio

Adjusted timers to 100/400Hz

I_term does not init when in hybrid loiter