Add example for signal handling
Add new tests / benchmarks; reorganize existing ones
Implement variant formatting
Split proto.go into multiple files
(Signature).Empty(): Handle "" correctly
Revise API again

- Rename some functions / methods to be more Go-like.
- Make (*Conn).Signal take a chan *Signal.
- Add a Serial method for messages received by eavesdropping.
Tweak behaviour of the Eavesdrop channel

If an Eavesdrop channel is registered, all messages will be sent to it.
Correct documentation for Export
Split variant tests into separate file