[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. 
It looks like we only have to worry about nulls when writing iterators from user-defined RDDs of strings.  So, if we see an iterator that begins with null, we can assume that the remainder of the iterator contains only nulls or strings.  Therefore, I think you can write out the first null followed by

```
iter.asInstanceOf[Iterator[String]].foreach { str =>
  writeUTF(str, dataOut)
}
```

to process the remainder of the stream.