Bug/separate deferreds threads

This branch addresses a couple of fixes for the situation we are having where the reactor thread gets flooded with operations that effectively block the urgent operations.

It mainly defers  to threads some costly operations, having care of calling the callbacks back in the reactor thread.
It also restructures some things in the internal storage:

* It separates new from dirty queues, to be dispatch create writes before puts.
* Rewrite of the fdoc storage using nested defaultdicts.
* Use of [mbox][uid] indexing for more efficient storage.