Update isodatetime

This updates Cylc with the latest isodatetime master
(see metomi/isodatetime#17).

The primary change is the addition of a much nicer dumping
API, which is demonstrated in `time_parser.py` below.

Another change is the restructuring of data model, parsers,
and tests into different modules - this mostly just means
e.g. using `data.TimePoint` where you used `TimePoint`.

@hjoliver, please review (mostly just the time_parser.py
changes - the others have been reviewed by @matthewrmshin).