Factor Transports Into First Class Module, Remove Defunct Code

The public API for clients and services has changed. Service is now
TCPService and Client is now TCPClient, which goes along with the
existing UDPService and UDPClient classes.

The main internal refactor is that all of the TCP and UDP transport
code is now in the diesel.transports package. diesel.core is much
slimmer and some circular dependencies that were worked around with
lazy imports are now resolved.

All of the protocols should be in line with these changes. Not all
of the examples are yet - still work to do there. All unit and
integration tests pass locally.