Session is more a gen_server

This makes a session to be standard gen_server augmented with expiration and message routing.