#119: fix time zone assumptions and handling.

This fixes a few flaws in the way time zones are handled. It also
fixes clock triggering (the motivation).

At the moment, under the ISO 8601 cycling, all output and internal
cycle times are in UTC by default. Cylc used to use local time, and
this is really the 'normal' way to consider a non-zoned date/time.

This change uses local time by default unless the UTC flag is set
or a particular time zone is set.

This implies that we need to set some time zone information in
most of our reference tests - otherwise we will disagree on the
results in the reference logs from location to location and from
DST to not-DST. I thought about making UTC a default for
reference tests, but it didn't seem quite right - and there are
some tests that shouldn't be in UTC, including a new local time
test and the clock triggering ones.

This change also updates isodatetime to a newer version with
better time zone assumptions (what a coincidence...).