[SPARK-2494] [PySpark] make hash of None consistant cross machines

In CPython, hash of None is different cross machines, it will cause wrong result during shuffle. This PR will fix this.
My comment from before was deleted, but please add a link to where the implementation is from, or a reference to the Python source code for this