Fix for bad climb_rate when landing

If the throttle is minimal, climb rate can't be positive.
Except if we were climbing full throttle and suddently push trottle to
0, climb_rate will be positive but it has to be positive during 1
second, that means we should have initial climb_rate >9.81 m/s, or more
safely 7m/s that is quite huge anyways.
Fix for rocket start

The altitude is not reseted at motor arming, contrarly to position. And
if we take_off in a throttle_hold mode like loiter, Alt_hold, Hybrid...
it may happen a rocket start, it means the copter jumps 1-2-3-...m high
like a rocket! And that's because the RelAlt is not reseted to baro_alt.
This diferences make the alt controller send full commands to motors.
Fix for rocket start 2

Add hist_pos_z init.
After some tests, there is no difference between calling or not
set_altitude(baro) function at motor arming... weird!
Add Hybrid throttle management

Change the #define in Arducopter.pde
Obviously, the second is the best (responsive throttle and, overall,
safer)!

/#define MX1HYBRID  // Alt Hold when throttle in deadband, manual
otherwise
#define MX2HYBRID  // Alt Hold when throttle from 0 to deadband_high,
manual otherwise (above deadband)
Balance hybrid throttle with throttle_factor

WARNING : CODE NOT TESTED - mind to enable STABILIZE mode on your switch
to quickly retrieve control in case of!

Added HYBRID_THROTTLE_FACTOR. Used to define the min and max throttle
from the throttle_cruise in hybrid mode. Should be between 1,1 (smooth)
and 1,5 (very strong). Actually, this range has to be defined. We'll see
if it requires a param.

throttle_min=throttle_cruise/HYBRID_THROTTLE_FACTOR
throttle_max=throttle_cruise*HYBRID_THROTTLE_FACTOR
AP_Compass: avoid division by zero if we haven't received any mag reports
Add a quick note about cliSerial
Merge remote-tracking branch 'Ju1ien/Hybrid_Throttle' into hybrid-thrasst
Disable SD-card logging since it doesn't work so well
Announce home location via Mavlink when it gets set or changed