[SPARK-2788] [STREAMING] Add location filtering to Twitter streams

TwitterUtils.createStream(...) allows users to specify keywords that restrict the tweets that are returned. This change adds a location parameter that also restricts the returned tweets.
Good question. It definitely is confusing. I went with ``Seq[Seq[Double]]`` because the ``FilterQuery`` created in TwitterInputDStream.scala requires a ``double[][]`` (http://twitter4j.org/javadoc/twitter4j/FilterQuery.html#locations-double:A:A-). This way the only change I have to make to the input is to change between Scala sequences and Java arrays.

The ``Location`` case class you described still does not remove all ambiguity, because the ``FilterQuery`` requires the south-west corner then the north-east corner for the boundary, and that would not prevent someone from giving them in the wrong order and getting unexpected results. If we're going to define a ``case class`` anyways, I think it would be better to make something like ``case class Boundary(west: Double, south: Double, east: Double, north: Double)``. Then the locations parameter would be of type ``Seq[Boundary]``, and I can convert it to a ``double[][]`` just before passing it to the ``FilterQuery`` in TwitterInputDStream.scala. Should I go ahead and implement that?