Fix subtree-skipping optimization

The initial attempt at this fix relied on a patch to couch_view that
only took effect if the user-defined accumulator had a specific form.
This version skips all of the logic in couch_db:enum_docs and
couch_view:fold and drops straight down the to btree itself.  It
implements the 4-arity fold fun directly instead of relying on other
Wrappers.  The expand_dups piece from couch_view is not needed because
there are no dupes in _all_docs, and the enum_docs_reduce_to_count piece
from couch_db is not needed because that element of the output is
discarded.  All in all, a cleaner and more obvious approach.

BugzID: 14954
Merge pull request #107 from cloudant/14954-all-docs-timeout

Fix subtree-skipping optimization

BugzID: 14954