[SPARK-2871] [PySpark] Add missing API

Try to bring all Java/Scala API to PySpark.
I see, okay. Please add some tests for this in tests.py to make sure we cover all the data types we'll care about (e.g. strings, integers, tuples, etc). We might also want to document which data types it works with above.