a comment here that summarizes what dirty_ vs writeout_ means would be helpful for hte next person to come along.  dirty_ means we clean up old entries (expensive, leveldb iterator), while writeout_ is exclusively new items?