MB-12179: Add the backfill manager

The backfill manager will be used for scheduling backfills on a per
connection basis and in a future commit will be used for managing
the memory of a dcp connections backfills. The backfill manager will
keep track of all of the active backfills for a given connection and
will run them in a round robin fashion. This will ensure that all
backfills for a given connection are treated equally.

Change-Id: Iaf0c7f4b5ff07bb1ca87e2db3684d0146d91354c
Reviewed-on: http://review.couchbase.org/42314
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>