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

Hi Hossein, small nit: could you format these as follows:
```
def csvRDD(
    csv: RDD[String],
    ...
    header: Boolean = false): SchemaRDD = {
  new SchemaRDD(...)
}
```