[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.

We should consolidate all the type related functions in @yhuai's PR on public/schema type. We have many similar code blocks like this in Spark SQL, and many of them are missing stuff (e.g. this one misses Timestamp, Decimal, etc)