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
Warn if internal queue members are not used in the graph.

This closes #214.
Closes #44: disallow declaring families to be sequential.
Deleted obsolete comment.
Merge pull request #227 from hjoliver/44-sequential-families

Closes #44: disallow declaring families to be sequential.
Merge pull request #226 from hjoliver/214-queue-config-check

Warn if internal queue members are not used in the graph.
Two trivial cug typos corrected.
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.
cylc.task_pool.pool.process: fix attribute error.
doc/make-index.sh: use "cylc --version" ...

... to generate the version string.
Print configured queue members in verbose validation.

This is useful to confirm that nested family names are substituted
correctly in the queues.
Merge pull request #232 from matthewrmshin/doc-make-index.cylc-version

doc/make-index.sh: use "cylc --version" ...