Change flagcache rebucketing strategy to use load factor.

The original implementation simply increased the number of buckets every
time realloc_object_flag_bitmasks was called, whether or not more
buckets were actually needed. This function is called repeatedly at
startup when the initial flags/powers are being setup. As an example of
the impact this causes, some data from M*U*S*H:
- The power flagcache has 211 buckets but only 48 unique entries.
- The flag flagcache has 1361 buckets but only 557 unique entries.

The new rebucketing strategy uses the load factor of the hash table to
determine when the number of buckets needs to be increased. This should
give better memory utilization without adversely affecting lookup
performance. The hash function has also been changed to the Hsieh hash,
which should give a more uniform distribution.

git-svn-id: https://pennmush.googlecode.com/svn/trunk@1759 ba372814-4f39-11de-9ad6-1127a62b9fcd