Initial cut at formatter objects
Completing basic formatters. GLG and STS working OK
Merge branch 'formatters' into serial

* formatters:
  Completing basic formatters. GLG and STS working OK
  Initial cut at formatter objects
Implemented command interface (send then receive) with locking
Test program (testserial)