AP_RangeFinder: new rangefinder API ready for its first backend

the backends are setup to have just the minimum functionality needed
for a rangefinder, with all of the higher level logic in the
frontend. This should make writing a new backend easier
AP_RangeFinder: converted analog rangefinder backend to new API

this gets analog rangefinders of all types working
AP_RangeFinder: added SONAR_RMETRIC option

this allows correct support for non-ratiometric rangefinders such as
the SF/02
SITL: update simulated sonar support
Plane: updates for new AP_RangeFinder API
Rover: convert to new AP_RangeFinder API
AP_RangeFinder: have two instances on all platforms

rover needs two sonars for obstacle avoidance
AP_RangeFinder: convert the PulsedLight driver to new API

not tested yet