[WIP] SPARK-2360: CSV import to SchemaRDDs

Implements RFC 4180 for parsing comma separated value files into Schema RDDs, which includes:
* Optional header line
* Handling quoted fields
* Handling new lines inside quoted fields

Adds two new methods to SQLContext
* csvFile: Takes a path and returns a SchemaRDD
* csvRDD: Takes an RDD[String] and returns a SchemaRDD

__TODO:__
* Every field is assumed to be of type String. We can either infer types (using a sample of data) or let user specify types of columns.

CsvTokenizer takes an Iterator[String] and implements Iterator[Array[Any]]. It's next() may end up reading two or more lines if it needs to (e.g., when a quoted field spans multiple lines).  This assumes quoted fields are not split between partitions (noted in API documentation).