Fixes shutdown/createQueue possible race condition

In testing, I was consistently observing an event callback being run after
redis.reset() was called.  This caused the `_client` module variable to be
recreated with default settings.  When the next `createQueue` was called, it was
not clearing the internal state of the redis module and so cases where
`redis.client()` was called directly would end up using the
`defaultCreateClient` instead of the new one.

Long term, making sure that Job and Worker use the singleton's redis client
could fix this (or making sure a reference is handed to workers and jobs instead
of them relying on the module's singleton).  This is a larger refactor than I
want to take on right now!