CSV_DDesc takes keyword inputs to specialize dialect

Usually we depend on the csv module to automatically detect/sniff the
format of the csv file (e.g. what delimiter and line separators are used)

We still do this but now we also allow users to override the
automatically detected settings with keyword inputs.

This required us to stop using the old-style classes in csv.dialect and
instead use dictionaries.  This is, I think, much cleaner, but is also
less standard (if csv.dialects are standard)
CSV_DDesc uses dialect when reading data

Fixes #216
omit dialect keys that start with _

rather than that contain _
Merge pull request #214 from mrocklin/csv-tweaks

CSV_DDesc tweaks