MB-9209: hibernate idle couch_file readers

During xdcr those processes are reading tons of binaries. And after
burst of activity tend to go idle for long time. It makes sense to
hibernate those folks in this state. Releasing unused
memory. Especially given that it's state is just two args which is
cheap to gc/hibernate.

Change-Id: I6793dd7fcd29457f711a871bc12f3b7e275b56ff
Reviewed-on: http://review.couchbase.org/30357
Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>
Tested-by: Volker Mische <volker.mische@gmail.com>
Reviewed-by: Junyi Xie <junyi.couchbase@gmail.com>
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Checkpoint progress for docs with _design prefix and too large bodies

If the last document in the sequence tree of a database file had its ID
with the "_design/" prefix, we would completley ignore it and skip
checkpointing. This was a problem if no other partition database files
had any updates and this document was associated with the last sequence
of the database - in this case each indexer run would process that sequence
number over and over, which would block forever stale=false queries - unless
a new document was added after to that database, or an existing one updated
or deleted. So just treat a document with a _design/ prefix in its ID as
any other document, as it shouldn't have any special meaning in regular
databases.

Similarly, if a document with a too large body is skipped, ensure that we
don't end in the same loop condition as above, by ensuring its sequence
number is checkpointed.

This was diagnosed in CBSE-893.

Change-Id: I7390db0329b00b137a0d9f1ff8e29971a58af143
Reviewed-on: http://review.couchbase.org/31341
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Sarath Lakshman <sarathlakshman@slynux.com>
Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>
Tested-by: Filipe David Borba Manana <fdmanana@gmail.com>
Merge remote-tracking branch 'origin/2.1.1'

* origin/2.1.1:
  Checkpoint progress for docs with _design prefix and too large bodies
  MB-9209: hibernate idle couch_file readers

Conflicts:
	src/couch_set_view/src/couch_set_view_updater.erl

Change-Id: Ida38d0c32d6c1b12d70e8ed9af8b0438b9c40a23