Adapt Session to suit the new plan

The new plan includes:
- Storing notification_time in the session, but returning time_left
- Using Sinatra-Websocket instead of Pusher
  - This involves storing an array of sockets in the session