Bloom Filer Implementation

No longer using Semi-OrderedMap, using Bloom filter to reduce memory
overhead in exchange for processing speed.