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.
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
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 branch 'master' into 290.dependence-between-suites