Make csvlint way faster

The speed gain is directly correlated to the size of the CSV. I tested on a 1.7MB CSV. These commits dropped its validation time from 9s to 1s. I used stackprof to identify bottlenecks. Main bottleneck now is Ruby's CSV library, though date format detection is still slow. I recommend reviewing one commit at a time.