Brushless Gimbal Controller: improved messaging and configuration

This implements an architecture in PIOS CAN that allows sending custom
 messages and abstracts out most of the details. It also allows registering 
queues to receive those messages.

This architecture is used for gimbal control and sends custom messages 
for the gimbal angle when CAN is enabled in the CameraStabilization 
module. The gimbal has a builtin module that receives this data.

This replaces using UAVTalk generically which is very flexible but much
less efficient. The latency is noticeably better with this approach.

Adds a configuration page as the board hardware for gimbal configuration.
There are only a few settings that matter. It also adds a power up sequencing
that makes it easy to check the wiring on the gimbal. Finally it adds the ability
to stop the gimbal based on the attitude of the flight controller. This is useful 
for being able to do flips without tangling the gimbal.