#119: fix clock triggering
 #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...).
Merge remote branch 'upstream/119.iso8601-cycling' into iso8601.fix-old
fix some tests
#119: update vs isodatetime and fix sequential
fix cylc-insert test, skip validate test
skip satellite and one-off tests
fix shutdown/00-cycle triggering log
#119: fix retrying test
#119: address style feedback, remove debug
fix bug introduced in last commit
#119: make restart tests less flakey
Merge pull request #954 from benfitzpatrick/iso8601.fix-old

#119: fix clock-triggering and restore local time usage