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.
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.
Fixed T-N cycle offset bug for n > 24 (HoursOfTheDay cycling)

Example:
[[[0]]]
    graph = "foo[T-36] = bar"
This graph results in bar triggering off foo at T-36; but it is also
used to infer that one of the valid cycle hours of foo is 0z minus 36,
or 18z. Conversion of T-N back to the 0-23 range was broken for N > 24
with the result that foo could sometimes spawn into the wrong cycle.
No change - to NOTE that previous commit message contains an error.

(replace 36 with 30 - this was just a typo in the commit message).
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 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
Merge pull request #492 from hjoliver/no-submit-id-unset

Don't unset the job submit ID when a task is done.
Merge pull request #496 from hjoliver/BugFix.HoursOfTheDay-cycling

Fixed T-N cycle offset bug for n > 24 (HoursOfTheDay cycling)
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.