Created generic Arduino device and necessary VIs

Created a generic Arduino device for integrating Arduino-based hardware
into setlist.

For more information on how this will work, see the wiki:
https://jqi-wiki.physics.umd.edu/d/documentation/software/arduino
Implementing Init Device and Display Info

Still need more work, mostly a stash commit since heading out on
vacation.
structural changes to arduino class to better implement multiple controlled devices
Added "Load Table..." functionality

This may need to be renamed, so I'll leave #24 open until people have
had a chance to play with this and leave their opinions.
- SetList was changed to add new event for "Load Table..." (Load w/o
format) button
- LoadedCluster_toSetList_v5 was given an optional input flag which if
set True only replaces device data and not columns.

This additional loading option will load Table data (text only),
variables, and user functions. All layouts/formatting/headers will
remain the same. It can only be used for identical device lists (same
Device class, each with same Column classes) between current SetList and
the target procedure.
Created generic Arduino device and necessary VIs

Created a generic Arduino device for integrating Arduino-based hardware
into setlist.

For more information on how this will work, see the wiki:
https://jqi-wiki.physics.umd.edu/d/documentation/software/arduino
Implementing Init Device and Display Info

Still need more work, mostly a stash commit since heading out on
vacation.
structural changes to arduino class to better implement multiple controlled devices
Merge remote-tracking branch 'origin/SetList-Arduino' into SetList-Arduino
Merge branch 'master' into SetList-Arduino
Added Arduino device UI elements.

Init Device and Display info are now fully implemented.
Added Arduino device to the Implemented Devices ring.
Merge branch 'master' into SetList-Arduino
Added HWI VIs for override; massaged private data

* Added structure to Arduino's "parsed data" private data structure.
* Added appropriate VIs for override in preparation for coding the
setlist parse/write functionality.
Implemented ParseSWI, Prune, PrepareHWI.
Updated TypeDef needed to save the rest of VIs.

Missed this in the last commit.
Add descriptions to preference items

Add description so they get saved with the preferences in the XML file.
Fix 'Reset Window Position at Startup'

The notifier handling waiting for preference initialization to finish was
dropping messages, causing the window-position preferences not to load and
execute.  Switched out for the version of the notifier that includes
history, this seems to have corrected the behavior.
Implemented load and prepare HWI

Untested, but pushing to lab computer for final testing.
Save version from version.txt (Fix #62)

Instead of hard-coding the version number inside SetList.vi, save it in
version.txt so we can avoid changes to SetList.vi when all we've changed
is the version number.  Also makes an obvious place to change/check what
version of SetList you are currently running.

Fixes #62, provided we remember to update this file when we tag.
SetListPrefs TypeDef change