picoC: allowed higher baud rates, bug fix

system.h: allows higher baud rates on USART.
flightbatterystate.h: bug fix at FlightStatusGet()
picoC: change baud rate to unsigned long
picoC: add timeout requester

This adds a time out requester to inform users when a command from gcs
widget fails. This happens when a script is running or the module is
disabled.
picoC: add pathdesired.h and pathstatus.h

This adds access to UAVOs PathDesired and PathStatus. Now picoC can
used for advanced waypoint navigation and autonomous searching tasks.
Just switch to PH, modify the PathDesired object and the Pathfollower
will do the rest.
picoC: add PathDesiredMode

add missing PathDesiredMode value
picoC: small type fix at ChangeBaud()

Changes the LongInteger to UnsignedLongInteger in ChangeBaud()-function.
picoC: add USART functions

Add SendBuffer() and ReceiveBuffer() functions. This makes it possible
to transfer unformatted buffers as fast as possible.
picoC: change return type

changes ReturnValue type from Integer to LongInteger as defined.
GCS/smartSaveButton Added isMandatory QMap flags and access functions

isMandatory will be used to flag if an error will be shown if an object
is tried to be saved or uploaded and it doesn't exist on the hardware.
In that case a warning sign will be shown on the button which started
the operation.
GCS/ConfigTaskWidget Added setNotMandatory function
GCS/smartSaveButton processOperation handle isMandatory flag

set button tooltip with operation result information listing object that
failed to be saved/uploaded/missing_in_hw
GCS/configmodulewidget set module dependent objects to not mandatory
FIX: added missing dependencies to plugins
Merge pull request #1390 from BrainFPV/fix_board_plugin_dep

FIX: Added missing dependencies to plugins
PiOS CAN: add ability send arbitrary messages

This approach is somewhat hacky, but allows
sending and fetching messages.
PiOS CAN: support sending custom messages

This still requires defining the messages at the level
of the driver. However it provides a fairly clean API
and should extend easily when only a few messages are
used.
PiOS CAN: register queue to receive messages

Create a queue that will receive messages for the
known message IDs. Also makes the receive handler
push data on those queues.
PiOS CAN: clean up support for multiple IRQ

Current code hardcodes CAN1 everywhere. This abstracts
that to a single place.
PiOS CAN: only define methods for FreeRTOS

Since the method returns a xQueueHandle, it only makes
sense to use with FreeRTOS. The bootloader does not
have this and crashes.
PiOS CAN: use pios_queue