options: another attempt at getting types back in

- fix PPSPP_SUPPORTED_VERSION macro
- add all protocol and header atom options listed in the spec
- apply types liberally
message: crash if message type is unrecognised
peer: add endpoint type
message types
dgram: add endpoint type and clean up interface to message
options: eunit arrives
swirl: moar types
options: make mine a tagged tuple, please

- tagging data structures makes pretty printing them easier to read & format in tests
message: typo in types
message: refactor
refactor_handshake
message: stub pack/1 and pack/2
message: types
handshake types
channel: factor out channel functions
convert: add specs
datagram: more specs
message: more specs!
swirl: more specs
swirl: types