Merge pull request #5 from Susurrus/master

Added a few more comments. Added return values for some functions.
Created an error code return value for any issues arising from pyserial and CANusb init-ing. Created an enum for these codes. All error printing is now done in main -- CLI version only
Check for failure codes returned from the CANusb hardware.
First move towards unifying the GUI and CLI canport code.
Merged all CANPort code together to proper subclasses.
Moved some constants for CANPort into the base object class as static constants.
Also threading should now work properly.