Add .then to cursors

No need for the extra .toArray() call. With this patch, you can now return cursors and if the calling context expects a promise instead, it'll just work.

This is used by other libraries that also chain methods that eventually execute an async task. 

For example: [supertest-as-promised](https://github.com/WhoopInc/supertest-as-promised).