Date format

This is to address issue #18 and follows from the discussion at pull request #32. Basically when the date format is unclear it will either look through the date column to find the first entry where it is clear and use that or throw an error if this is unsuccessful.

I also refactored the code and moved this functionality to a separate DateColumn class