Add a test case for when an already-in-use client is passed to accept

This is a funny case as the accept method with two arguments doesn't really
make sense as part of the external interface anymore, since there is no way
to construct an initialized but not connected socket anymore. Nevertheless,
it is trivial to trigger this case, so I added a nice error message and a
test that the error message gets hit. Note that the previous assertion was
not sufficient to catch this case, since the state of the client may have
change over the course of the `wait` call and hence one needs to check
in accept_nonblock