Copter: only allow CLI within 20s of startup and when motors not armed
Rover: change CLI timeout to 20s
Plane: change CLI timeout to 20s
GCS_MAVLink: added comm_is_idle() function

this will make CLI detection more reliable
Copter: only enter CLI is link is idle when 3 enters are hit

this will prevent binary contents of RADIO packets being interpreted
as CLI enter line-feeds
Plane: only enter CLI is link is idle when 3 enters are hit
    
this will prevent binary contents of RADIO packets being interpreted
as CLI enter line-feeds
Rover: only enter CLI is link is idle when 3 enters are hit
    
this will prevent binary contents of RADIO packets being interpreted
as CLI enter line-feeds
Copter: fixed GPS test (detection of uBlox needs 10Hz poll)
Plane: fixed GPS test (detection of uBlox needs 10Hz poll)
Rover: fixed GPS test (detection of uBlox needs 10Hz poll)
Rover: put obstacle detection in a structure

easier to extend for multiple sonars
RangeFinder: added SONAR_ENABLE boolean to analog sonar object
Rover: use new sonar enabled flag in object
Rover: added dual sonar support
Rover: added AUTO_KICKSTART and AUTO_TRIGGER_PIN options
autotest: fixed build_parameters.sh script
Rover: fixed AUTO_KICKSTART parameter markup
Rover: run rover sim reniced
HAL_AVR: fixed null termination of vsnprintf()
Plane: fixed X accel triggering of auto