An object hashing facility.
This facility is based on the C++ standards propoosal "Types don't know #" by Howard Hinnant, which can be found here:
The default hasher is an implementation of FNV1a for 32 and 64 bit systems. More details on the FNV1 algorithm can be found here: