generalization of CSV dataset + shuffle feature

Rebased + added some features: https://github.com/lisa-lab/pylearn2/pull/1072