(#3251) - add read queue to avoid leveldb corruption

With these tests I can reproduce the LevelDB race condition where it starts reading before a batch and ends reading after a batch. It only fails for `get()` and `allDocs()` - `changes()` seems fine for some reason.
^ I realized I could simplify `_info` because we already have the doc count and the update seq stored in memory.