[SPARK-1630] Turn Null of Java/Scala into None of Python

During serializing PythonRDD, it will cause an NPE if there null in it. This patch will handle it as None of Python.

This PR is based on #554, thanks to @kalpit. 
But this is what I didn't understand about the whole PR: user code is not meant to call PythonRDD directly. Note that the whole PythonRDD object is `private[spark]`. So where in the codebase today can we get nulls there?