MB-10789: [2] Bloomfilter for every vbucket

Add bloomfilter object and support to the vbucket class.

Change-Id: Icfa664d502d5a2fa7523b17fc2d493fc0de13849
Reviewed-on: http://review.couchbase.org/41858
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: abhinav dangeti <abhinav@couchbase.com>
MB-10789: [3] Bloom filter use is configurable

Also add the residency threshold paramter which
will be used in the full eviction scenario only.

2 parameters dynamically configurable with cbepctl:
    - bfilter_enabled
    - bfilter_residency_threshold

Change-Id: I7348ae125365d0ec67918fe295fc76d41a24813a
Reviewed-on: http://review.couchbase.org/41859
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: abhinav dangeti <abhinav@couchbase.com>
MB-10789: [4] Bloomfilters on compaction

Create/resize bloom filters during compaction.
Time_purge_hook callback of compaction that
iterates over all keys will be responsible for
populating the bloomfilter with all the necessary
keys.

Change-Id: I8f30488599f426324bac28a973ae006b6d1454c0
Reviewed-on: http://review.couchbase.org/41860
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: abhinav dangeti <abhinav@couchbase.com>
MB-10789: [5] Bloomfilter for sets/gets/deletes/evicts

For VALUE-ONLY EVICTION:
- Add all deletes to bloomfilter
- Check bloomfilter before getMetaData

For FULL EVICTION:
- Add all deletes to bloomfilter
- Add evicted items to bloomfilter

Check bloomfilter, if item not in hashtable for:
    GetInternal, DelWithMeta, DelItem, Add,
    SetWithMeta, Set, GetLocked, Touch, etc.

Change-Id: I2766226228d18b448ad464525ce80e6803a31772
Reviewed-on: http://review.couchbase.org/41861
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: abhinav dangeti <abhinav@couchbase.com>
MB-10789: [6] Unit tests for bloomfilters

For Value-only and full eviction modes

Change-Id: I8916f8ded688d0e20fa57adcace73960e473a0eb
Reviewed-on: http://review.couchbase.org/41862
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: abhinav dangeti <abhinav@couchbase.com>
MB-10789: [7] Disabling bloomfilters' use by default

Change-Id: Ib5aab5f45605276b6e0f7dca37e3fcf4ef3c87ce
Reviewed-on: http://review.couchbase.org/42638
Reviewed-by: Chiyoung Seo <chiyoung@couchbase.com>
Tested-by: abhinav dangeti <abhinav@couchbase.com>