parseDateString returns null on invalid datestring rather than throwing an exception

Ran into a few cases where the parseDate function would get an 'undefined' and throw an exception on the `split`. This happens in some cases from user error, but also when I try to do things such as set the input value to blank to force a dirty flag. It'd be nice if it just became invalid in the case of a invalid value rather than raising a browser exception.