Suppress invalid modifier log message in upsert test
Return results from collection methods on livedata connection.

This allows us to immediately return local collection return values inside
stubs.
Test and fixes for returning upsert results immediately inside stubs.

Added a test for upsert return values. Factored out some more upsert test
helpers.

Could still use a test for update/remove return values inside a method stub.
Update Collection comments to reflect new return values.
Make update() the canonical form for upserts on the wire.

update(..., { upsert: true }) returns the number of affected docs, and
update(..., { upsert: true, _returnObject: true }) returns the whole object that
is used by upsert(). Also includes a rename of returnObject -> _returnObject.
Rename onInsert to isInsert
Add some comments to minimongo upsert code
Factor out the bindEnvironment part of writeCallback.

Get rid of numberAffectedCallback; instead, choose the right return value at
every place where we were using numberAffectedCallback and then pass through
bindEnvironmentForWrite. This cleans up a couple places where we were going
through numberAffectedCallback to wrap a result in an object, and then sometimes
getting the numberAffected out of that object and just returning that. Also
ensures that all callbacks for write get passed through Meteor.bindEnvironment
with the same onException function.
Clean up some comments and names for upsert.
Rearrange simulateUpsertWithInsertedId() for readability
Add comment about lack of allow/deny rules for upserts
Remove unnecessary bindEnvironmentForWrite
Document upsert (first draft)
Fix simulateUpsert call indentation