Allow manual triggering of retrying tasks.
Don't override state dump ict on restart.

Addresses #481
Made initial and final cycle time persist over multiple restarts.
Removed never-used dead_letter module.
Made simulation mode work with recent changes.
Merge branch 'master' into manual-trigger-retrying-tasks

Conflicts:
	lib/cylc/task_types/task.py
Print suite timings in test battery results.
Don't unset the job submit ID when a task is done.

This caused occasional failures in the events/task test suite: if a task
reported in succeeded while a poll command was in progress, the poll
result would set the task back to 'running', but the 'task succeeded'
message just prior to that had unset the submit ID thereby preventing
the next poll from correcting the problem.
Complete the test suite for dynamic host selection.

It was testing dynamic host selection by command, but not by environment
variable.
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.
Correct an in-source comment.
User Guide: pyro, passphrases, ssh, polling (section Running Suites).
User Guide: documented automatic polling on restart

plus a few other User Guide corrections and updates.
User Guide suite.rc reference: documented job submission retries.
User Guide: documented job poll and kill.
Merge pull request #491 from hjoliver/test-battery-suite-timers

Print suite timings in test battery results.
Merge pull request #495 from hjoliver/249.test-host-select-by-env

Complete the test suite for dynamic host selection.
Merge pull request #482 from hjoliver/481.initial-cycle-time-var-on-restart

Don't override state dump ict on restart.
Merge pull request #490 from hjoliver/sim-mode-for-recent-changes

Sim mode for recent changes