Fix Empty string being unserialized as current DateTime

Throw InvalidArgumentException if trying to unserialize empty string as DateTime object

As can be seen, if object field is described as being of a DateTime type and someone is trying to unserialize an empty string to this field, then instead of an error message we get that field set to current date time.