[SPARK-2871] [PySpark] Add missing API

Try to bring all Java/Scala API to PySpark.
This comment needs to be a bit longer, it needs to say there's one Java object per Python object, using Pyrolite. Does passing batched data work with that? Would be good to add tests for both cases.