Fix handling of dates in format such as 1980x or 1980UTC

DateTimeParser should not be handling these, as it does
so incorrectly and is not the right place.

Dates like '1980s' are handled in MWTimeIsoParser, while
'1980x' is invalid there so TimeParser fallsback and tries
to parse with DateTimeParser.

DateTimeParser can sort of handle '1980s', but not exactly
well, as it gets precision of a second and the timestamp
has the current day/month/hour/minute/second + 1980.

When trying to do 'new DateTime( "1980xx" )' then an
exception is thrown by DateTime and such dates are invalid.

DateTime will also accept anything with a valid time zone,
like '1980UTC' or '1980America/New_York' or '1980 America/New_York'.
DateTimeParser is not suitable for supporting year + timezone,
so consider such input invalid here.

It's best to go ahead and throw an exception also for '1980x'
or '1980s', as well as dates like '1980 America/New_York' and
not try to support them in DateTimeParser.

Bug: 64558
Change-Id: I89c8f8b0e51fc50cfa434e355ed7d4a0b33d6ae8
Merge "Fix handling of dates in format such as 1980x or 1980UTC"