ManualControl: add field to FlightStatus (ControlSource)

This field indicates the currently active control source
ManualControl: move the muxing logic into the core task

The logic for selecting transmitter/tablet/failsafe was previously
in the transmitter sub-module.  However, in the future things like
geofence will not depend on the transmitter and thus it doesn't make
sense to spread the functionality around.

I'm still not entirely pleased with how the logic looks in manualcontrol.c
because it is spread between the main task and control_source_select due
to the requirement of failing back to failsafe for a bad tablet setup.
FlightStatus: fix indentation for consistency
ManualControl: use uint8_t to fix compilation on simulation

Unfortunately the data size of enums is not the same as uint8_t
for simulation targets.  It's better practice to use the typedef
enum from the uavobject but we need to update the code generation
to use the enum as the input type.
Merge pull request #625 from peabody124/control_mode

ManualControl: move the muxing logic into the core task and add a ControlSource field