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
AP_NavEKF : Improved GPS glitch detection

This adds new functionality to the detection and compensation of GPS
glitches:

1) A maximum allowable innovation is calculated using the GPS noise
parameter multiplied by the gate, with an additional component allowing
for growth in position uncertainty due to acceleration error since
the last valid measurement
2) If the innovation length exceeds the maximum allowable, no fusion occurs
3) If no innovation has occurred for a long period, then an offset will be
added to the GPS position to make it consistent with the ienertial solution
4) The default velocity innovation gate has been tightened up for copter

This significantly reduces susceptibility to GPS jumps due to constellation
changes and multi-path