AC_WPNav: first implementation
AC_WPNav: add distance and bearing to target methods
Copter: integrate AC_WPNav
AC_WPNav:  bug fix to dt calculation
Copter: replace set_next_WP with direct call to wp_nav
AC_WPNav: add get_target_alt

Required because waypoint controller will be modified to control
altitude
Copter: add panorama to CIRCLE mode

Yaw will slowly rotate if CIRCLE_RADIUS is set to zero
Circle center is projected forward CIRCLE_RADIUS from current position
and heading
AC_WPNav: added set_target_alt
Copter: removed next_WP

Use the wp_nav.get_target_alt or controller_desired_alt in it's place
AC_WPNav: replace get_target_alt with get_destination_alt
Copter: replace wp_nav.get_target_alt with get_destination_alt
Copter: remove remnants of fast_corner
InertialNav: add get_velocity method
AC_WPNav: add set_loiter_target to use velocity

Target can be set in front of the copter to reduce the bounce back to
the position where loiter was engaged.
Copter: use velocity based set_loiter_target
Copter: bug fix to loiter delay

change delay to seconds to allow delays longer than 65seconds
AC_WPNav: bug fix for track covered being 2D

Replaced abs and fabs with fabsf
Added get_destination method
AC_WPNav: add angle limits and set from AC's throttle controller
Copter: Leonard's alt-hold feed forward
AC_WPNav: Leonard's loiter target smoothing