Support for ReplicaSetConnection

This commit contains changes leading to allowing MongoKit to be used on a
ReplicaSetConnection as opposted to the default Connection that the
freezed version of MongoKit supports. ReplicaSetConnection exists as a
seperate file, irrespective of the code, functional and design
similarity it would have with Connection. Should be noted to mantain
both of them as a single entity, any change going into Connection should
go into ReplicaSetConnection and vice versa.