Overhauled task insertion functionality.

If a task spawns beyond its stop cycle, the new instance will be
rejected from the task pool rather than added in the held state.
If a spawned cycling task has the same ID as an existing task it
will automatically be rejected from the task pool.
Return spawned tasks (caught by purge test)
Minor tidy of previous commit.
Added pre-initial tests to test-battery.
Added advanced conditional for pre-initial test.
cylc/cylc#119: add isodatetime wrapper
Fix new task proxy insertion.
Print triggering log diffs in test battery.
Altered conditional tested in advanced-conditional.
Merge pull request #592 from arjclark/pre-initial-test-battery

cylc test-battery: pre initial cycling tests
cylc/cylc#119: improve import prefix
cylc/cylc#119: add the LGPL isodatetime library from https://github.com/metomi/isodatetime
cylc/cylc#594: fix switch to other suite
Merge pull request #593 from hjoliver/test-battery.print-diffs

Print triggering log diffs in test battery.
gpanel: reset idle timer on re-activation
Merge pull request #590 from hjoliver/better-task-insertion

Better(/fixed) task insertion
Merge pull request #599 from benfitzpatrick/gpanel.fix-idle-start

gpanel: reset idle timer on re-activation
Merge pull request #598 from benfitzpatrick/594.fix-switch-suite-gcylc

#594: fix gcylc switch to other suite
Merge pull request #597 from benfitzpatrick/119.iso-input

#119 - ISO 8601 inputs
Removed broken tests/QuickStart/a suite (addresses #581).