fetchOne resets query on original object

Before this change, a fetchOne call does not reset the query on the original object like a fetch call does. Thus consecutive fetchOne's will result in queries after the first using the conditions from the sum of previous queries.
i.e.
Animals.query({name: 'cat'}).fetchOne() // queries for where name = "cat"
//some time later
Animals.query({name: 'dog'}).fetchOne() // queries for where name = "cat" and name = "dog"

calling resetQuery after copying the query to model solves the problem.
Merge pull request #300 from wjmao88/patch-1

fetchOne resets query on original object
bumping a few dependencies
add passing test for #310
clean up the test suite a bit
fix #311, use onPossiblyUnhandledRejection and longStackTraces
fix #310, also using space separated events w/ latest triggerThen
docs prep for release
release 0.6.10