Add test case for alternative coroutine implementations.

This test is very simple, as it only checks that the `coroutine` parameter
is passed to the client. Checking that the used alternative coroutine
implementation works is out of its scope.
Allow alternative coroutine implementations.

This is required when using redis-lua within scheduled coroutines, for
instance with copas. When using the standard coroutine implementation,
yields from the network operations (receive, send) are caught by iterators,
instead of the scheduler.