Request handling in a background thread.
Turned on multi-threading in the Pyro daemon.
Wider tolerances (timing) on some reference tests.
Make suite state summary update atomic.

The fact that it wasn't matters for continuous requeset handling.
Connect just the new task message receiver to the network.

Previously the task proxy object itself was connected, but we should not
allow clients to make direct calls to other task proxy methods anymore.
Command request queue.
Do task job submissions a worker thread.

Also took some helper classes out of scheduler.py.
Added Dave's Evil Load Test.
Fixed typo in dev test suite.
Exception handling for gcylc reconnection.

gcylc was dropping a traceback on suite exit.
Relaxed ref test timouts
Restored broadcast functionality.
Cleaner use of flags to trigger processing.

And always print task process loop timing in debug mode.
Merge branch 'master' into 194-multi-threading

Conflicts:
	bin/cylc-block
	bin/cylc-unblock
	lib/cylc/gui/SuiteControl.py
	lib/cylc/remote_switch.py
	lib/cylc/scheduler.py
	lib/cylc/state_summary.py
Merge branch 'master' into 194-multi-threading

Conflicts:
	lib/cylc/gui/stateview.py
	lib/cylc/gui/xstateview.py
Merge branch 'master' into 194-multi-threading
Nicer documentation index.

This restores the static index.html file (we had one a little while ago
but somehow lost it) rather than have doc/Makefile generate one. This
makes it easier to use CSS formatting.
Corrected gcylc doc index link.
Halve the number of cylc python processes with exec.

Uses exec to replace the main cylc command process with the sub-command,
instead of running the sub-command as a sub-process of the main command.
Removed some cruft.