Rename stream signals according to convention.
Cleanup formatting.
Use added acknowledge() call.
Header len is fixed now.
Move channel implementation to pimpl.

This cleans up the public interface and starts the work on removing
deep coupling between the implementation classes.
For debugging purposes, mark unimplemented functions as such in the log.
Add substream handling.
Rearrange transmit and receive functions in two sections.