Add in a marshaler that communicates requests and responses over channels.
Not really tests, just a way to see what a marshaler is doing.
Logout needs to send a response. Cleanup some common code related to
sending a response.
Add unit tests. Makes changes for debugging the api with issues
found during the unit tests.