Fix for issue #156

Added a utility function to parse a string to a DateTime option, and used this to check for invalid headers.

I have no idea how to write a test for this, although I suspect we probably should.
I'm sure you could simply make a request to the web server with a header with a double `If-Modified-Since` header value? You could have a browse through the unit tests to see how we test Suave, and how to make such a request; there are many samples that you can go from to trigger the bad-parse path.