Close race conditions in method call tests.

Implement a queueing mechanism so the resource's method dispatcher can
signal the main test thread when it's done cleanup up after a method.
Without this, it was possible to check the state of redis before the
method dispatcher has a chance to cleanup after itself.  This fixes
intermittent test failures in most of these tests.

Remove the sleeps from the test_method_completes_after_timeout test.
This is now controlled via a queueing mechanism.  Thus,
Server#two_second_sleep is now Server#delayed_sleep.  This fixes an
intermittent test failure where it was possible for two_second_sleep to
complete before our "value.value(1)" call had a chance to timeout.