[WIP][SQL] 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.

PipelinedRDD is an implementation detail, so it's better to use rdd.mapPartitionsWithIndex() here (mapPartitions() will be better).