GCS: Add board plugin for taulabs

Currently this plugin supports Freedom and Sparky.  This is required
for calibration to apply to the mags for them.
GCS Board Plugins: Removed TODO that meant nothing
Uploader: Use board plugin for getting the board name

Previously these were redundantly coded.

Conflicts:
	ground/gcs/src/plugins/uavobjectutil/uavobjectutil.pro
Uploader: Use board_plugin for image of boards
Board Plugin: Convert IBoardType->getBoardPicture() to QPixmap

Previously returned pointer but no need
Board Plugin: Fix image paths
Board Plugin: Store and use the specific HwBoard UAVO

Now the board plugin knows the name for the HW configuration
UAVO and the defaulthwsettingswidget queries this and tries to
use the correct one only instead of probing all of them.
Board plugin: export the deviceDescriptorStruct class

This lets the uploader plugin use this on windows.
TauLabs plugin: convert from qt5 to qt4 plugin

This needs to be reverted when merged into the qt5 tree.
Merge pull request #492 from peabody124/board_plugin_next

Board plugin
Misc Math tests did not include sharedapi

This is required since they include physical_constants.h
Merge pull request #496 from peabody124/sin_test_fix

Misc Math tests did not include sharedapi