Fix iso8601-parse so unknown DST is -1, not nil
The convention in a decoded time’s dst flag is that t means DST, nil means standard time, and -1 means unknown. This differs from the convention for other components of a decoded time, where nil means unknown. Fix some places where iso8601-parse mistakenly treated nil as meaning that the dst flag was unknown. * doc/lispref/os.texi (Time Parsing): Adjust to match parse-time-string’s doc string. * lisp/calendar/iso8601.el (iso8601-parse): Set dst flag to nil if a numeric time zone or "Z" is given. (iso8601--decoded-time): Default dst flag to -1 if no dst flag or zone is given. * lisp/calendar/time-date.el (decoded-time-set-defaults): When we don’t have a time zone, set the dst flag consistently with DEFAULT-ZONE. * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years) (test-iso8601-date-dates, test-iso8601-date-obsolete) (test-iso8601-date-weeks, test-iso8601-date-ordinals) (test-iso8601-time, test-iso8601-combined) (test-iso8601-duration, test-iso8601-intervals) (standard-test-dates, standard-test-time-of-day-local-time) (standard-test-time-of-day-fractions) (nonstandard-test-time-of-day-decimals) (standard-test-time-of-day-beginning-of-day) (standard-test-date-and-time-of-day, standard-test-interval): Adjust tests to match fixed behavior.