add client session handling

* Session class and session management module
* domain-based error handling
* functional and unit tests
* placeholder code in server.js, starting sessions with a dummy echo
  request handler for incoming connections