Throw exception for DateType conversion error and add tests

@jwage: Please take a look at the first commit here, as it reverts behavior you originally added in b702787. I don't have a record of you following up on my comment there, but I think the behavior was incorrect.

I decided to follow up on this and add some unit tests while merging #533.