AC_Circle: add get_closest_point_on_circle

init_start_angle method added to use current heading or position to
decide on initial start angle
Copter: integrate change in AC_Circle init

Removed init_loiter_target when vehicle landed.  We should add some
initialisation of the circle controller when landed.
Copter: Loiter_Turns moves to edge of circle if location provided
Copter: remove unused circle_desired_rotations

desired num rotations is already held in command so we save 1byte of RAM
Copter: default WAYPOINT to current pos if lat, lon, alt are zero
APM_Control: Modify D and I gain scaling
APM_Control: reduce the number of parameter saves in autotune

don't save a parameter unless it has changed by 0.1%
Copter: conditional yaw fix

waypoint command was setting auto_yaw_mode when it was run after the
do-cmd
yaw_look_at_heading was being set to current heading which was
overwriting the caller's desired heading
Mission: fix example sketch after GPS lib changes
Copter: bug fix for when WP_YAW_BEHAVIOR is 0
code style: add indentation rules for makefiles

(and remove some web file types that will probably never be in APM)
Copter: bug fix for conditional_distance command

Due to a race condition, the wp_distance was not being updated before
the conditional_distance
autotest: Added McMillan airstrip at Camp Roberts to locations.txt
AP_Rally library
AP_Rally: Minor fixes to AP_Rally after initial testing

- If a Rally point is being used, always respect the altitude set by the
user (don't take the max of that and the home point altitude).

- No need for constructor to pass in size of RallyLocation struct
Plane: Now using AP_Rally library.
Copter: integrate AP_Rally
Rally: define RALLY_WP_SIZE and RallyLocation
Common: remove RallyLocation defintion
Copter: remove RALLY_WP_SIZE definition