Adds error 13639 to reconfiguration.
Also adds 10009, which we got last night during a stepdown.
Don't clear the auth when disconnecting, it can mess up queries on the node that are unauthorized due to a failover.
Revert "Merge pull request #286 from jonhyman/feature/no-auth-clear-master"

This reverts commit dec51d631774638e36e118808b5e9a89a8e95a83, reversing
changes made to b6e499b6c75ddd2acb56b372b60b65be10104976.

[fixes #287]
Bump version to rc2
Bump local ruby version
Bump to version 2.0
Lock rspec to ~> 2.14.1

~> 2.13 install the 3.0 prelease versions (2.99) now, this locks
rspec to the latest 2.x release.
Add SSL context configuration

MongoDB offers a possibility to use SSL client certificates and to use
the root CA to verify hosts. This change makes these settings accessible
from the config by passing a Hash instead of a boolean to the SSL
option.

This patch is heavily inspired by dc21475820ff148fb42963752db0bfa6a23f5e1e
Use Retry failover strategy for AuthenticationFailure

When the replica set is reconfigured or a node is in startup mode this
can cause authentication errors. We now use the Retry failover strategy
in this case so we try again and mark the node as down if the operation
fails again.
add support to operation timeout, stopping long queries
move with_retry method to a different module
retry the operation if the failure was due to a cluster reconfiguration and the node is not a master anymore
retry operation and refresh authentication if the failure was related with authorization. after a cluster reconfiguration with auth enabled as example
remove popen4 gem
improve replicaset environment checks
try to do tests more stable
change the command to make mongod sleep
refactor to operation timeout work with SSL connections