Merge pull request #6 from Susurrus/master

Various changes
minor bugs and note to start tomorrow on ui.mainwindow:340
GUI: fixed raw message bug (not transmitting raw messages if no metadata loaded) with an if branch on GUI_rawFlag in outmessage.py
rudimentary error checking in GUI. see pyserialInit function
Firmware: Added firmware code for the CANode.
Deleted messageInfoParse, merging its contents into messageInfo.
Also moved some standalone Init() functions into the constructor of some objects.
Various other minor cleanups.
Firmware: Fixed many bugs and added message transmission support.
The addition of a test framework helped find and fix these bugs, which is now also committed.
Merge pull request #7 from Susurrus/firmware

Firmware
Changed xmlimport function to allow for autoboatMessages file type.
TODO.txt update
Firmware: Updated to support all CANusb-supported preconfigured baud rates.
Refactored CANacondaMessage to be a wrapper around our true data object, the CanMessage.
Involved refactoring a ton of stuff, but mostly we are moving towards all string parsing being done to spit out a CanMessage, and then that being used everywhere.
Renamed CANacondaMessage.py to CanMessage.py.
Also removed an unnecessary argument to CANacondaMessageParse().
Moved NMEA2000 code to Nmea2000.py library.