CBD-485: Move DB file compaction into EP-Engine

As detailed in CBD-485, the compactor module is moved into EP-Engine
New Memcached Command:
+ CMD_COMPACT_DB with protocol_binary_request_compact_db
New Stats:
+ ep_pending_compactions
+ compaction timing histogram
New unit test case to exercise the code path
New command line utility to perform compaction:
+ cbcompact 127.0.0.1:12000 compact <vbid> --wait
New MCCouch Notification cmd
+ VB_COMPACTION_DONE VB_COMPACT_OPENDB_ERROR VB_COMPACT_RENAME_ERROR
Change-Id: I0606a6e06edc41c5265f3661d97d178165c7f19a
Reviewed-on: http://review.couchbase.org/29258
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: Chiyoung Seo <chiyoung@couchbase.com>
Fix race in warmup completion

This change fixes a race in warmup completion that is cause when
a warmup thread is finishing and another thread tries to stop
warmup. This behavior can cause two stats snapshot tasks to be
scheduled and since we only keep a task id for one of the warmup
tasks it is impossible to cancel the second one that was scheduled.

This cahnge also refactors the warmupCompletion variable so that
it can be kept in the warmup class.

Change-Id: If01929dfe35c03f12e466f3099298339c9a66960
Reviewed-on: http://review.couchbase.org/30126
Reviewed-by: Michael Wiederhold <mike@couchbase.com>
Tested-by: Michael Wiederhold <mike@couchbase.com>
Update .gitignore to exclude cbcompact wrapper

Change-Id: I3e726f29c76ed0df9c478b8a92d4f1e8a06b35f2
MB-8988: Sequence numbers are assigned through the CheckpointManager

Change-Id: If3fdf08e1091ad36ea8bcd30b10cd3803db009ae