Deal with selects

If a client selects a different database (using the SELECT command), node-redis-sentinel-client does not select the same database on the new connection on failover.

This is because the redis client keeps track of the `selected_db` from inside `RedisClient.select` method, which never gets called as the sentinel client simply used `send_command` directly.

This PR allows the sentinel client to call the underlying `select` method, which sets the correct state for `selected_db`.

I've also updates the tests so that they all run on redis database 0 and redis database 1. Unfortunately due to problems with using BDDs `before` method with the TDD style tests, all the `before` methods were running at once, before any tests were executed and causing issues. The only way I could get around this problem was to move the tests to BDD style.