[WiP] Basic storage abstraction featuring mongodb & memory adapters

This patch adds a basic `Storage` persistence layer abstraction for now capable of using two different adapters:

- `MemoryAdapter`: data storage is performed in-memory;
- `MongoAdapter`: data is stored in [MongoDB](http://www.mongodb.org/); you must have a mongo server instance running locally in order to run the integration tests.

**Work in progress, do not land.**