[SPARK-2871] [PySpark] Add missing API

Try to bring all Java/Scala API to PySpark.
No, the JavaRDD is an RDD[Object], by unpickle the Python objects. so it support most of the builtin types. (those supported by Pyrolite)