Merge pull request #31 from RichardWarburton/master

Adds Support for Replica Set and Sharded Clusters
Allow cursor timeout to be specified
Disallow a negative cursor timeout