[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'd better make the GenericMutableRow as a private member, which is reusable.