Validate string parameter length for xxh32 and xxh64

If a string length >= 2GBytes is passed to xxhXX functions,
PyArg_ParseTuple will throw this cryptic exception:
In [7]: import numpy as np
In [8]: a = np.zeros((1<<31,1), dtype='uint8')
In [9]: xxhash.xxh64(a)

---------------------------------------------------------------------------
OverflowError                             Traceback (most recent call
last)
<ipython-input-9-9fa0ae37b5c5> in <module>()
----> 1 xxhash.xxh64(a)

Unfortunately XXH32 and XXH64 can only accept string argument length of
1GByte or less.  This commit uses Python buffer interface to detect
string argument length larger than 1GByte and throw a human
understandable exception.