smaccmpilot- swap switch direction on mode switch to match pat's preference

* habits die hard
smaccmpilot GCSTransmitDriver: heartbreak sends userinput mode like ArduCopter
smaccmpilot- make userinput available to gcs_transmit_driver heartbeat
smaccmpilot: regenerated impls from ivory
smaccmpilot: add ivory optFlowType
smaccmpilot: add optflow_input and optflow_compensate modules

* optflow_input manages mavlink sensor input on usart6 (GPS port)
* optflow_compensate is the identity function for userinput, at the moment
smaccmpilot: add blinking driver for the ioar relay, assumed to drive leds
smaccmpilot: optflow compensator stubbed out
smaccmpilot: reorg optflow_compensate into position_estimator and altitude_controller
smaccmpilot: rename gps to gps_raw_int throughout gcs_transmit, for clarity
smaccmpilot: additional GLOBAL_POSITION_INT stream added to gcs_transmit
smaccmpilot: ivory definition for sending GLOBAL_POSITION_INT
smaccmpilot: gcs_transmit can send global_position_int
smaccmpilot: gcs_receive knows about global_position_int stream
smaccmpilot: position estimator working reliably
smaccmpilot: GCSTransmitDriver hacked to send user throttle (pre mixing)

on the servo8_raw channel
smaccmpilot: altitude climb rate controller seems to work in testing
smaccmpilot: removed obsolete & unused alt_hold.h