Make the hash table implementation suck less.

This is done through many changes:

 1) Get rid of "case-insensitive" metrics. I don't think these ever
 actually hit, but the code is silly. If we need it, we can normalize
 the data going into the table.

 2) Get rid of silly hash algorithm. Use MurmurHash. This isn't the
 latest / fastest version, but it's still much faster than what was
 there.

 3) Stop using division to find the bucket. Get rid of hash_prime, and
 size buckets to nearest power of two. This allows us to use bitwise
 arithmetic for the modulus, which is so much faster.

 4) Get rid of silly rwlock implementation. Pthreads has a native rwlock
 now, but ck's rwlock performs better.

 5) Get rid of per-bucket locks. I'm not convinced that the granularity
 is worth the overhead.

 6) Get rid of buckets. The "node" structure is effectively a bucket, so
 we can treat it like one. This reduces the amount of indirection we
 have to do before we find our data. Thus, faster.

 7) Pad our bucket structure so that it won't split cache lines when
 iterating. This makes iterations faster since we can preload 2 at a
 time.
Make sure root has its authority.