Bloom filter implementation

We provide a Bloom filter implementation based on cork_bitset.  The
result is the Bloom filter is limited to an effective size of 2^32
or 8589934592, which corresponds to the size of `size_t`.  We use an
extended double hashing scheme to generate the required number of hash
values while enhancing performance.  The details are described in
www.eecs.harvard.edu/~kirsch/pubs/bbbf/esa06.pdf; the scheme uses the
formula:

    hash_i(key) = (hash_1(key) + i*hash_2(key)) mod m

where hash_1(key) and hash_2(key) are two actually hash values of key
and m is the size of the Bloom filter.