Better handling of obsolete/overwritten entries in channel-logs

An entry for a replaced revision shouldn't be removed entirely from the
channel log; its sequence number might still be requested in a changes
feed's "since" parameter. Instead, just strip the entry of everything
but the sequence number, and then suppress such entries from the API
that returns log entries.
Fixes #268
Fixed regression where duplicate entries appeared in changes feed

Stupid bug where I removed empty entries in place from a shared array,
messing up the original channel-log cache.
Changes feed shouldn't show doc as deleted if it has a live branch
WIP: Simplified channel change tracker
Better changeCache locking. Shut down goroutine on close.
Set conflict flags properly in changes feed entries

NOTE: This changes the structure of a stored document -- instead of a
"deleted" property it now has "flags".
change_cache now recovers from missing sequences after a few seconds
Keep changeCache from worrying about unused sequences generated during update
changeCache: Added expvars to track performance metrics.
Backward compatibility with the old 'deleted' document property
Make the unit tests pass.
changeCache: Ignore old echoed Tap entries at startup. Log bucket #s.
changeCache: Feed view results back into cache 
Use numbers as public sequence IDs!!
Cleaned up 'channels' view. Optimized ?conflicts and ?include_docs options
changeCache: Fixed an edge case where view is newer than Tap
Fixed Walrus submodule revision
Ignore duplicate Tap entries (from replica nodes in db cluster)
WIP: Cleanup (merged the two LogEntry structs) and fixing unit tests.
changeCache: Split out channelCache class.