Fix issue #3743: Hash changed signature in Python 3.3

As of Python 3.2 hash values are of type Py_hash_t. Previous versions use C long.

The changes should only affect win-amd64-py3.x, where `sizeof(Py_hash_t) != sizeof(long)`.

This fixes issue #3743. All tests pass on win-amd64-py3.3, win-amd64-py2.7, and win32-py2.7.

Needs backport to 1.8 and 1.7.