Updated HashTable

HashTable now automatically extends and rearranges once threshold values
are met. All values are rehashed and moved to new locations, there is no
shifting of buckets as I simply reuse the existing insert function. Must
change to simply move the buckets to avoid thrashing objects around.