Better shutdown handling - this closes #24.

The way cylc determines when a suite should shut down is now clearly
laid out in one place. Normal shutdown is no longer determined by
whether or not "all tasks are finished or held" - now the status of each
tasks is checked with respect to the relevant shutdown criterion.
The motivation to finally get this done was that the old cruft-ridden
shutdown code caused a problem with the new restart implementation (no
automatic release of held tasks etc.): if a suite was shut down with no
runahead-limited tasks, just succeeded and held ones, it could not be
restarted as all resurrected tasks were "finished or held" resulting
in an immediate shutdown.
Merge branch 'master' into 24-better-suite-shutdown

Conflicts:
	lib/cylc/scheduler.py
Handle asynchronous and old finished tasks at shutdown (passes tests).
Further-improved access to cylc documentation.

1) doc/Makefile now runs a script to write the HTML index file,
only links are only generated to documents successfully generated.

2) The "cylc doc" command has been simplified, to open a browser on
the new index file (with opens for PDF, internet, or intranet docs).
Fixed a typo.
Fixed another typo.
Merge pull request #229 from hjoliver/doc-generation

Further-improved access to cylc documentation.
Merge pull request #220 from hjoliver/24-better-suite-shutdown

Better shutdown handling - this closes #24.
A trivial fix for yesterday's doc command changes.
Minor doc index css change.