make iso parsing a bit stricter

Fix for #1083. To try fixing this without breaking anything, I experimented with trying `new Date(str)` first and only trying the ISO regex if that didn't work, That had strange results, namely that `new Date('1983-10-14')` gets interpreted as UTC, so you end up with "Thu Oct 13 1983 20:00:00 GMT-0400 (EDT)".

So I stuck with my original idea of forcing ISO strings to end the string. This will of course break code that has a valid ISO-8601 string followed by a bunch of unparsable stuff. I think that's acceptable, since you don't normally expect ISO-compliant strings to also contain gibberish.