Fixed an unexpected exception bug when reconnecting in pub/sub mode if selected_db is not null

RedisClient might enter pub/sub mode after at least one SELECT command issued.
When reconnecting, the SELECT command is issued after restoring pub_sub_command to true, which causes an exception.
Add a test case for reconnect_select_db_after_pubsub
Fixed a subtle error where commands issued within the idle event handler
Merge branch 'select_db_exception' of https://github.com/roamm/node_redis into roamm-select_db_exception