RUBY-596 Implement Collection (WIP)

This is a refactor of Sam's collection work, part 1.

This implements Collection#find and refactors Cursor to not return nil documents on the end of non limited queries. Also unmocks all the cursor specs.