General work on the firmware downloading code
Move serial port list to config.py

The serial port list that will be scanned by the canbus module
is now in config.py along with the detection of the OS type.
This puts this in an easy place for the end user to make changes
if required.  Also dynamically generating the DataPath variable.
General work on firmware download feature