Implemented PJW hash function from compiler textbook. This halved the number of collisions in some instances