SetupWizard: copy files from Frederiks' work at OpenPilot

Signed-off-by: James Cotton <peabody124@gmail.com>
SetupWizard: work on integrating into Tau Labs
SetupWizard: remove outdated revocalibration page
SetupWizard: comment out hardware specific code

These parts need refactoring into the calibration object or the
board plugin, as appropriate.
SetupWizard: update page text
SetupWizard: select controller using the board plugins

Now shows the correct board name provided by the board plugin
architecture.

This still leaves a lot of cruft related to hardcoded board specifics
and a complete absences of commented code but it is progress.
SetupWizard: update some doxygen
SetupWizard: bypass input configuration until moved to board plugin
SetupWizard: add documentation
Packaging: add sparky and remove OSD
Uploader: use board plugin for filename in autoupdates

Previously this was using ugly hardcoded values but now the
board plugins are queried to determine which upload to attempt
to upgrade to.
Uploader: emit specific failure code when firmware not found

This allows more explicit error codes to the user that this board
is not currently supported by the wizard.
BoardPlugin: advertise if board supports configuring a receiver input

Also this makes the SetupWizard use this information and bypass that
page if necessary.  There is a stub of the implementation in Sparky
so it enters this configuration page.
SetupWizard: apply receiver configuration via board plugin
Sparky: add methods to plugin for configuring input
SetupWizard: add documentation
SetupWizard: add page for when input configuration unsupported

This page will inform the user to manually configure the input before
proceeding for boards where it is not supported.  This is required
because without an input actuator uses a different path and cannot
be controlled.
SetupWizard: add page to indicate a board is unknown
Config: add Calibration object to aggregation
Config: fix formatting of file