Streaming mllib [SPARK-2438][MLLIB]

This PR implements a streaming linear regression analysis, in which a linear regression model is trained online as new data arrive. The design is based on discussions with @tdas and @mengxr, in which we determined how to add this functionality in a general way, with minimal changes to existing libraries.

__Summary of additions:__

_StreamingRegression_
- An abstract class for fitting regression analyses online on streaming data, including training on (and updating) a model, and making predictions

_StreamingLinearRegressionWithSGD_
- Class and companion object for running streaming linear regression

_MLStreamingUtils_
- Utility for loading and parsing streaming data from a text file stream, could be extended with functions for loading data from Kafka, Network, etc.

_StreamingLinearRegression_
- Example use case: fitting a model online to data from one stream, and making predictions on other data

__Notes__
- I will definitely add tests but I wasn't sure where it makes sense to put them: mllib or streaming?
- If this looks good, I can use the StreamingRegression class to do all other regression analyses (Ridge, Lasso, etc.), and a similar StreamingClassification class would give us logistic and SVM classification.
I wanted to do this but it doesn't seem to work. The first test always passes, but the second test immediately hits this error. Maybe because we're effectively starting multiple StreamingContexts from the same SparkContext? I'm trying to debug. @tdas ?

    java.lang.NullPointerException:
      at org.apache.spark.streaming.StreamingContext.<init>(StreamingContext.scala:159)
      at org.apache.spark.streaming.StreamingContext.<init>(StreamingContext.scala:66)
      at org.apache.spark.mllib.regression.StreamingLinearRegressionSuite$$anonfun$2.apply$mcV$sp(StreamingLinearRegressionSuite.scala:92)
      at org.apache.spark.mllib.regression.StreamingLinearRegressionSuite$$anonfun$2.apply(StreamingLinearRegressionSuite.scala:89)
      at org.apache.spark.mllib.regression.StreamingLinearRegressionSuite$$anonfun$2.apply(StreamingLinearRegressionSuite.scala:89)
      at org.scalatest.Transformer$$anonfun$apply$1.apply(Transformer.scala:22)
      at org.scalatest.Transformer$$anonfun$apply$1.apply(Transformer.scala:22)
      at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
      at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
      at org.scalatest.Transformer.apply(Transformer.scala:22)