[SPARK-2377] Python API for Streaming

This patch brings Python API for Streaming.

This patch is based on work from @giwa
Why do we need to set this?  I wonder whether this could mask any bugs that might be exposed by having multiple partitions within a stage vs. a single partition.