Update readme. Fixes #4.
Add test listener and update unit tests to use it. Fixes #3.
Add specs, types and @doc. Fixes #5. Serialisation and encryption is now sync - should be sync, handles errors. Fixes #1. Fixes #2. Redo the client FSM. Works quite well with unit tests.