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.