Home fixes

These patches together mean that all vehicles keep the (approximate) GPS altitude in home.alt at all times (except if a GCS explicitly asks for something different).  For Plane, Rover this just means checking to make sure that a DO_SET_HOME with altitude 0 doesn't actually set the home altitude to the centre of the earth.  For Copter we remove the lines that force the home altitude to zero and fix a small bug that would have incorrectly reported relative alt over MAVLink if the user had done a DO_SET_HOME with a non-zero altitude.

All altitudes through all vehicles are specified wrt home so this patch set should have no functional effect, except the small copter bug listed above.  It's mostly just a tidy-up.

Tested in SITL, 'copter flown.