Fix a typo in a comment
Add CSV reader/writer

This patch adds a CSV reader/writer that supports generating
a vertex file and edge file. It also supports changing the
separator, escape characters, and etc. It does not try to
detect the types of each entry though.

In order to do the actual parsing, I'm using the opencsv library,
which has the Apache 2.0 license. I expect that shouldn't be an
issue as it looks like blueprints is also using some other
Apache 2.0 licensed libraries.

This code makes a couple assumptions about the CSV file. First,
it assumes the first row is a header that contains the property
names. Second, it assumes that a row has the same number of
items in it as the header does. If it has more, they are
ignored, if it has less, the missing properties are ignored.
Third, writing to a CSV file assumes that there is a sensible
".toString()" method for each property type.
CSV reader should empty strings as nulls
CSVReader should copy the GMLReader's behavior with missing fields
Add a CSV testsuite
Add a CSVReader.inputGraph method
Move the BatchGraph into the CSVReader to simplify the api