Abstract the comms port to add a TCP method

Abstracted the communications port interface to make RS232 just one
concrete implementation of it; added experimental TCP implementation
(not tested, focused on the framework).
Tweak TCP port I/O routines

Adapt the imported I/O routines in the TCP port class work work with the
AbstractSocket
Merge branch 'feature/tcpport' of github.com:chrisy/GrblHoming into feature/tcpport