#32 Handle null, undefined and incorrect values in DatetimeFormatter

This is a new pull request for #32

I'm not sure exactly how you prefer to deal with incorrect data - at the moment I added code to treat them as an empty string, which ends up turning them into the "minimum date'' of 1899-12-31T00:00:00Z.

Depending on your opinion, another option would be to throw an exception instead, when the data is obviously invalid.