Throw InvalidArgumentException if trying to unserialize empty string as DateTime object
Improve DateTime validation on deserialization