Refactor the transport signatures

We now have:
  IO: threads
  CONNECTION: something we can read/write to
  CHANNEL: something supporting packet enqueue and flush
  SERVER: something which creates CONNECTIONs
  TRANSPORT: all of the above

Signed-off-by: David Scott <dave.scott@citrix.com>