Made upsert return reference to created document

When upsert is true and it can't find an existing record to match the query, it calls self._insert which will return a ref to the newly created doc as the 2nd param to the callback, but the upsert logic wasn't catching a 2nd param (only the first param: err) so I just added the 2nd param as 'newDoc' and passed it to the upsert callback instead of 'true'.
Updated upsert tests to check if newDoc has been sent back successfully, modeled after other insert tests
Updated README to reflect slight upsert change
Use cursor to find documents
Added the sort option, first test done
Normal query test 1
Tested method chaining
Limit and sort together tested
Factorized code
Sort, limit and skip work together
Cursor completely tested with sort, limit, skip
Tested sort with dates, strings and nested fields
Tested when some or all fields are undefined, undefined goes first
All tests pass
Returning cursor conflicts with the executor
Able to use sync or async API with cursor
Multiple consecutive sorts are handled
Ability to get a cursor from a findOne
find and findOne take care of deep copying the returned docs
Use cursor for counting documents