Abstracting storage backend.

WIP, things won't work right now.

* Make storage interface async.
* Start on PostgreSQL backend (maybe?)