Add abstraction for vector of bits.

A bitvector is a vector of bits with underlying block storage. Since C++ has no
notion of lvalues in the context of bits, we use a small wrapper class
Reference that masks the desired bit in the corresponding block.
Make bitvectors serializable.
Add draft of Bloom filter type hierarchy.
Stabilize Bloom filter interface.
Work on parameter estimation and serialization.
Adhere to Bro coding style.
Write CounterVector implementation scaffold.
Add more serialization implementation.
Associate a Comphash with a BloomFilterVal.

We also keep track of the Bloom filter's element type inside each value. The
first use of the BiF bloomfilter_add will "typify" the Bloom filter and lock
the Bloom filter's type to the element type.
Add Bloom filter BiFs.
Fix some BiF issues.
Small fixes and simplifications.
Catch invalid values of the false-positive rate.
Fix modding.
Fix hasher usage and narrow interface.
Merge remote-tracking branch 'origin/topic/matthias/h3-dtor-fix' into topic/matthias/bloom-filter

Conflicts:
	src/CMakeLists.txt
Correct computation of k hash functions.
Cleanup BiFs.
Add tests.
Add missing initializations.