[SPARK-2377] Python API for Streaming

This patch brings Python API for Streaming.

This patch is based on work from @giwa
Similar question: are the changes in this file necessary for streaming or was part of the refactoring?