Hash Update/Cleanup

Updated and cleaned up the std::hash specializations in hash.hpp.

Switched the hashing algorithm used for IPAddress objects over to the same one seen in the specialization for ColumnID (from a previous commit).

Switched the hashing algorithm used for Tuples over to the same one seen in the specialization for ColumnID.

Switched the hashing algorithm used for Strings over to djb2 (see here: http://www.cse.yorku.ca/~oz/hash.html).

Did miscellaneous clean up.