[SPARK-4969][STREAMING][PYTHON] Add binaryRecords to streaming

In Spark 1.2 we added a `binaryRecords` input method for loading flat binary data. This format is useful for numerical array data, e.g. in scientific computing applications. This PR adds support for the same format in Streaming applications, where it is similarly useful, especially for streaming time series or sensor data.

Summary of additions
- adding `binaryRecordsStream` to Spark Streaming 
- exposing `binaryRecordsStream` in the new PySpark Streaming
- new unit tests in Scala and Python

This required adding an optional Hadoop configuration param to `fileStream` and `FileInputStream`, but was otherwise straightforward.

@tdas @davies
This is an subtly-incorrect usage of `getBytes`, since `getBytes` returns a padded byte array; you need to copy / slice out the subarray with the data using `v.getLength`.  see [HADOOP-6298: "BytesWritable#getBytes is a bad name that leads to programming mistakes"](https://issues.apache.org/jira/browse/HADOOP-6298) for more details.

We've hit this problem before in other parts of Spark:

- https://issues.apache.org/jira/browse/SPARK-3121
- https://issues.apache.org/jira/browse/SPARK-4901

Here's a PR which shows the correct usage: #2712