add possibility to create a dialect for the csv file

Add the possibility to create its own Dialect in the custom parser.
It can be useful especially because ```sniffer.sniff(sample_data, delimiters=',;\t')``` is not always able to find the right dialect.


Ok, I'll change the PR for ``` (unicode(key or '', 'utf-8') ``` then