Implement the Muxer construct
Add basic muxing tests
Very minor tidying
TestMuxer -> TestMuxing
Sequence ids should start at 0
StreamWriter.closed -> StreamWriter.eof
Implement StreamWriter.Seq
Tweak expected output in TestMuxing
Update StreamWriter's documentation
Add a placeholder Demuxer implementation
Replace the encoding/binary package with a custom implementation
Implement Demuxer.next
Muxer.header -> muxer.writeHeader
Implement the loop construct
Implement encoder
Remove the muxer and demuxer types
Implement the decoder type
Tweak encoder.go and decoder.go

- Move varint encoding/decoding functions into the files in
  which they're used.
- Tweak error handling.
Fix a bug in how write errors are persisted
Test encoder failure handling