Ensure the wrappers lock themselves as well as the dependent objects
when shutting down. Lock in shutdown rather than the destructor because
that's where we typically stop deallocating context etc.
Attempt to discover and count bugs where we try to read from a
connection after it has been shut down and removed from the queue.