Merge pull request #27 from DougEdey/master

Merge from master
Merge pull request #28 from DougEdey/master

Merge from master
Merge pull request #29 from DougEdey/master

Merge from master
Merge pull request #30 from DougEdey/master

Merge from master
Merge pull request #31 from DougEdey/master

Merge from master
Moved some logic out of output control and into output device.  This enabled a new kind of output device that is better suited to things like running a compressor where it can't be turned on and off frequently
Added checks for null, a launch parameter to set the root directory, and some other minor code cleanup
Ignoring the graph-data folder so that it doesn't show up as changed / needed to be committed to git
Few more minor changes to prevent duty from being out of expected range.  Some other code cleanup for readability.
Merge pull request #27 from cmpterman2/master

Updated cooling code and added compressor device support plus some other small changes