Refactor comm interface

- Rebased my comm refactor against master and fixed all merge conflicts
- Set of Comm classes marginally less ridiculously named 
- Turns out a connection pool can be used for things other thank iGCS... Like AT commands... soon.
- Got rid of the global static variables by turning the CommController into a singleton and adding
  properties of the various available interface types
- There is a very very basic start to an AT interface for radio config. Basically a stub only at this point.
- There is a fix snuck in to ensure log file timestamps are written as big endian as I think is expected
   by other .
- Branch was originally intended to be the radio config stuff but turned into the start of a comm interface refactor and I'd like to get it into master so we can continue development without diverging again.