MB-12067 [6/6]: Use pause/resume visitor for defragmenter task

Expand the defragmenter to make use of the pause/resume visitor
methods on epStore & HashTable. This allows it to run for a
constrained period of time, pausing (and recording how far it got) if
it reaches its time limit. It can then resume from where it left off
at the next defragmentation internatl.

Change-Id: I82520aa907bb386f9c55fc7e92ac5338bf862cdf
Reviewed-on: http://review.couchbase.org/41499
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: Dave Rigby <daver@couchbase.com>