Alt limit is based on EKF origin if home-alt is not set. This is
generally the same but could be different if there's a lot of baro drift
before take-off or the vehicle is carried to a different altitude after
power-on.
Removed redundant checks to GPS_ok before setting flight mode to RTL
(this check is already performed inside the set_mode function)
Removed reset of home distance and bearing when GPS lock is lost, it now
remains at the last known value
Previously if set_mode failed it would return the copter to stabilize
mode. With this commit set_mode returns a true/false indicating whether
it succeeded or not so the caller can make the decision as to the
appropriate response which could be to stay in the current flight mode
or try another flight mode.