Created by: thatmattbone
Two commits here, the first is the pretty straightforward addition of a sniff limit command line arg.
The second is a significantly more questionable way of dealing with kw_args passed to the UnicodeCSVReader. These args are filtered so that only the ones accepted by csv.reader() are passed to it. Because csv.reader is a builtin (I guess implemented in C?), this is done by inspecting csv.Dialect whose attributes specify what can be passed to csv.reader() in a roundabout sort of way. Ultimately this mess is only necessary because I overloaded the CSVKitUtility.reader_kwargs with something that isn't really a reader_kwargs. Maybe it is preferable to to just add something like CSVKitUtility.extra_kwargs? I don't know how this would look.
All of this could be tricky to debug in the future. Also I should try it in something like pypy to see how robust it really is.