Initial commit - transport layer fairly complete

Still needs documentation, of course