Threadsafing HLL

Replaced all of the mutating operations of RegisterSet to be atomic so that HLL's can safely be updated by multiple threads.  Tests pass on multiple runs, performance impact on the HLL appears to be negligible in the single threaded case.