Added support for limit, sort, skip, and findOne

Basic support for the following:
`$collection->findOne([ 'something'=>'that-is' ]);`
...returns null or document.

`$cursor = $collection->find()->sort([ 'name'=>-1 ])->skip(50)->limit(5);`
...should work now.

Take note that `fetchDocuments()` is now lazy-called on first valid(), current(), etc.