Allow more time for replicaset election

The MongoDB documentation claims that replicaset elections don't take
more than one minute, but it appears that's not correct. Therefore,
allow for up to two minutes for a replicaset to recover from the loss
of its primary.
Don't sleep for more than 5 seconds between reconnect attempts

Previously, we would sleep after each attempt by 2 to the power of the
attempt number minus 1, e.g., 1 second after the first attempt, 2
seconds after the second attempt, 4 seconds after the third attempt, 8
seconds after the fourth attempt, etc. This quickly becomes too long
of a delay between attempts, especially now that we're waiting up to
two minutes for the replicaset to recover. Therefore, we now cap the
sleep time at 5 seconds, which is long enough not to hose the
replicaset unnecessarily with too many connection attempts, while at
the same time short enough that we won't pause for too long
unnecessarily.
Merge pull request #11 from quantopian/master

Improve reconnect logic -- wait longer in total, shorter between attempts