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

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.
It is also a more common representation in the ISO 8601 standard.

This change uses local time by default unless the UTC flag is set
or a particular time zone is set. This also affects input cycle
points that appear without time zones.

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...).

[EDIT: also fixed sequential, fixed cylc-insert, shutdown/00-cycle,
restart/03-retrying, and added skipping for async-satellite and 
one-off tests]

@hjoliver, please review.