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
This completes the changes required for #221.

Adjusts for the fact that the old task.is_waiting() test used to return
True for retrying tasks as well as ones in the 'waiting' state. Now we
do direct tests on the state value, so must check for 'retrying' too
where appropriate.
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.
Added .tex sources as deps in doc Makefile.

This allows re-make after changes to the source, without deleting the
generated documents.
Merge pull request #228 from hjoliver/doc-makefile-deps

Added .tex sources as deps in doc Makefile.
Merge pull request #225 from hjoliver/221-follow-up

This completes the changes required for #221.
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.