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
Don't recreate and reconnect the suite identifier on reload.

To reconnect to Pyro, first we'd have to disconnect the original; but
that's unnecessary because the suite ID does not change on reloading
the suite definition. This bug was revealed when attempted disconnection
failed in the suite shutdown code, because Pyro no longer referenced the
right identifier object. This is also a bug in the current master branch
but it has no effect there as we don't explicitly disconnect from Pyro
on shutdown.
Merge pull request #207 from hjoliver/194-multi-threading

194 multi threading