REACH-31: Implement session manager

Pool of `DynamoViewModel` is created to minimize delay for a newly connected user. Server works in headless mode as a side effect of these changes.
There are a few things we could improve here:

1. Provide more detailed summary for these interface methods (this is the best place to document stuff).
2. Names should be consistent, for example, ```GetSession``` should be ```GetSessionId``` I guess? Also ```Add(string id)``` should be ```Add(string sessionId)```?
3. ```Add/Get``` might use a better name like ```AddMessageHandler/GetMessageHandler```?
4. ```Delete(string id)``` can be renamed as ```DeleteSession(string sessionId)```?