Copter: bugfix to condition-yaw for relative angles

Thanks to roque-canales for raising the issue and paradisephil for finding
the specific piece of code that went wrong and suggesting the fix.
Mission: fix CHANGE_ALT to store climb rate in lat param

The slightly confusing storage of climb rate in the lat field led to a
bug fix a few months ago that actually created a bug.
Copter: check target of set-mode request from GCS

Issue discovered and fix contributed by Deadolous
Copter: remove unused AIRFRAME definition
Copter: print frame type in log headers
Compass: param descriptions for OFS2, MOT2
INS: param descriptions for ACC2, GYR2
Multicast added in UART channels.
StructArray reimplemented as a circular array.
Merge branch 'hotfix-0.0.0.sitluartdriver'
LogAnalyzer: add POSHOLD to TestPitchRollCoupling
AC_WPNav: add shift_wp_origin_to_current_pos for takeoff

This shifts the origin to the vehicle's current position and should be
called just before take-off to ensure there are no sudden roll or pitch
moves on takeoff.
Copter: shift pos targets to current location before takeoff
GCS_MAVLink: check target before erasing log
GCS_MAVLink: add comments around checking target
Plane: check target of set-mode request from GCS

Issue discovered and fix contributed by Deadolous
Rover: check target of set-mode request from GCS

Issue discovered and fix contributed by Deadolous
GCS_MAVLink: fixed log erase and log request end
GPS: fix SIRF set-binary message

This fixes an issue in which the the update rate for the mediatek, which
uses a similar protocol, was not being set correctly
AP_NavEKF : Fix bug in reset of position, height and velocity states

If the inertial solution velocity or position needs to be reset to the GPS or baro, the stored state history for the corresponding states should also be reset.
Otherwise the next GPS or baro measurement will be compared to an invalid previous state and will be rejected. This is particularly a problem if IMU saturation or timeout has occurred because the previous states could be out by a large amount
The position state should be reset to a GPS position corrected for velocity and measurement latency. This will make a noticeable difference for high speed flight vehicles, eg 11m at 50m/s.