Queue commands before the connection is established

This PR attempts to fix redis-sentinel-client in situations where commands are issues prior to the initial master connection being established. It's very similar to @calebTomlinson's #23 but does not instantiate a redis client pointing at port 9999. I understand that this is the way that the library used to do it, but I feel that simply queuing the commands until the connection is established is a better option.

Although it's fairly easy to wait for the connection in application code, this behaviour differs from a normal redis client. This means that passing the Redis client into third-party libraries can be difficult, meaning changes to existing code at least.