WIP CouchDB Auto-Tombstone Removal

CouchDB will completely remove deleted documents once all 'registered peers'
have checkpointed past the update seq of the delete.

In order to do this efficiently all peers must create a local document in the
database, so that the database can use map/reduce to calculate the lower bound.

All peers that wish to consume the changes feed must create a local document at
seq 0 before they start (to ensure deletes that occur while reading the changes
feed are preserved) and periodically update that local document as they
progress.

_view_cleanup has been enhanced to delete all checkpoint documents for
unreachable indexes (similar to how we clean up purge sync documents).
12 files changed