Server now returns 503 when at capacity.

Catch this. For backwards compatibility with earlier versions of Taverna Server
we catch 403 in the run create code and re-raise as a server capacity error.
Server now has a limit on concurrently running runs.

A 503 is returned if the limit would be breached so catch this and return the
appropriate response to the caller when a run is started.
Test for max concurrently running runs.

Make sure it is less than or equal to the total run limit.
t2-run-workflow: Cope with hitting max running runs.

Informs the user and deletes the run for now.
t2-server-stress: Cope with hitting max running runs.

Backs of for 10 seconds before retrying if the server doesn't start a run due to
overcapacity. As this is a script to stress test then it is appropriate to wait
and continue running. This keeps the server at full capacity within its
configured limits.
Ensure all unit tests delete runs that they create.

Some tests were not deleting runs. This was being hidden by the fact that the
last test run was (randomly, so a coincedence) one that tested
Server#delete_all_runs.

Tests now run correctly if the run limits of both existing and executing runs
are set to 1.
Trivial fix for an "ambiguous code" warning.

Apparently some things consider the following to be ambiguous:

 read_body &block

Make explicit to be on the safe side by adding brackets around the parameter.
Internal fix to delete behaviour.

When the remote attribute is not found then an exception is raised but then
silently ignored. If this seems an odd way to go about things it is in
preparation for streamlining the behaviour of all HTTP methods in the connection
class.
Mark deleted runs as such in their Run object.

If a run has been deleted from the server, flag this in the local ruby Run
object. This is useful for various bits of lifecycle management.
[TAVSERV-308] Run#permissions returns nil, instead of :none

Now returns :none and test added to confirm.