add support for repairCursor command with test coverage

A new command called "repairCursor" was added to the server in 2.7.8 (see https://jira.mongodb.org/browse/SERVER-15544 for details). We need support for this in the mgo driver so that tools which involve database repair operations (like mongodump) can access it. 
It's implemented as a command which returns a cursor; the server performs a best-effort attempt to recover any data from damaged data files and return the documents it finds on the cursor - so, it could potentially return multiple copies of the same document. I've written the test to account for this behavior.

I agree. Refactoring out the boilerplate in a way that also affects the functions for aggregation seemed a bit intrusive for me to attempt within this pull request, so I figured I would defer that piece to you.
Perhaps a more generic way to run commands that return cursors (which both Pipe() and this command could leverage) would be a good thing to add in the future.