Allow manual triggering of retrying tasks.
Added ungroup CLI option.
Tidy up.
Merge branch 'master' into manual-trigger-retrying-tasks

Conflicts:
	lib/cylc/task_types/task.py
Much much much simpler spent-task clean-up algorithm.

This has been a long time coming. We can now (since cylc-3!) use
information in the suite graph to determine how long each task has to
remain in the task pool after succeeding.
Tidied and commented the new cleanup code.
Merge branch 'master' into manual-trigger-retrying-tasks

Conflicts:
	lib/cylc/scheduler.py
Merge branch 'master' into new-task-cleanup-algorithm
Merge pull request #497 from hjoliver/new-task-cleanup-algorithm

Much much much simpler spent-task clean-up algorithm.
Merge pull request #475 from hjoliver/manual-trigger-retrying-tasks

Allow manual triggering of retrying tasks.
Merge remote branch 'upstream/master' into cylc-graph-ungroup-opt
cylc graph: default to grouped.
Merge pull request #488 from arjclark/cylc-graph-ungroup-opt

cylc graph --ungroup option
Updated README contrib list.
Added sim mode test. Fixed self.run_mode. Corrected suite spec.
Corrected config.py to pick up overridden run types.
Tweak scheduler code.
Stop command option to kill active tasks before shutdown.
Stop --kill option for gcylc.
Defined shorter runtime range for tasks.