GCS_MAVLink: save some memory in log download

use an existing buffer instead of using the mavlink _send()
function. This saves some stack space in log download

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
GCS_MAVLink: added handle_mission_request() common function

this handles requests for mission items, using stack saving

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
Plane: use new handle_mission_request() function
Rover: use new handle_mission_request() function

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
Copter: use new handle_mission_request()

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
Mission: handle Loiter direction

loiter-unlimited, loiter-turns and loiter-time cms specify the turn
direction in Param3.  This is stored in the location's loiter_ccw flag.
Previously supported only in Plane, moving here allows us to share more
code with Plane, Copter, Rover.
GCS_MAVLink: loiter direction removed

This is now handled in Mission library