Remove $'s in selector when upserting new minimongo doc.

Plus test for it.
Fix collection driver upsert callbacks.

Run a bunch of upsert tests on the direct collections (LocalCollection and
MongoConnection). Revealed a weirdness with MongoConnection.upsert(); if there
is no id from the selector or modifier, then mongo ends up generating one and we
don't return it.