AP_NavEKF : Add initial parameter defaults for Copter, Rover and Plane
Copter: spline bug fixes

Next waypoint's location must be passed in even if it's a straight
segment.
mission.get_next_nav_cmd's start_index should be the current command +1
WPNav: clean up spline comments
AC_AttControl: constrain earth frame yaw angle error

This temporarily resolves the wobble we see in Auto when the target
heading is suddenly changed leading to a large yaw angle error
AP_NavEKF : Fixes bug in initial earth magnetic field states

The calculation for these states was not being bias corrected
AC_WPNav: rounder corners for short spline segments
AC_WPNav: check acceleration is non zero
AC_WPNav: advance_spline to use dt
AC_WPNav: spline sets origin vel to zero when no prev segment

Issue caught by Michael Oborne
AC_AttControl:  45deg/sec yaw rate for Auto, RTL
AC_WPNav: use atan2f, make methods const
Mission: make get_prev_nav_cmd_index const
AP_Mission: fixed a bug re-entering AUTO

this fixes a bug found by Marco where we would continue in CRUISE mode
with no waypoint if we re-entered AUTO after a mission reset
Rover: added BRAKING_PERCENT parameter

this allows for reverse throttle to be applied for braking in corners
Rover: make log_bitmask 32 bit

this fixes the log before arm
AP_GPS: removed GPS_406 driver

this driver was untested and badly structured. If we want to support
the 406 we can revive it and do it properly
AP_GPS: support multiple AP_GPS_Auto drivers

move all static variables into a dynamically allocated structure in
the AUTO driver which gets freed when we have found a GPS type
Plane: use AP_GPS_Auto for 2nd GPS
Rover: use AP_GPS_Auto for 2nd GPS
Copter: use AP_GPS_Auto for 2nd GPS