[SPARK-2871] [PySpark] Add missing API

Try to bring all Java/Scala API to PySpark.
BTW I do like a slice-based API in general, that might be what we propose publicly.