mon: do not block while committing to MonitorDBStore

This will allow us to service reads while we wait for the backend to
commit a transaction.  For large clusters, this will cut out a big
piece of latency and unresponsiveness.

I've address Joao's first round of comments on the previous branch
and rebased.

This has passed the rados/monthrash tests so far (hit an unrelated
issue in master).