Better error for new Meteor.Collection({})

Fixes #1879.
Update Google oauth scopes. The previous ones were deprecated.
Some docs tweaks

- get rid of the sole use of "attribute set"
- add some links
- add missing "the"
Clearer docs on avoiding initial changed() calls

Explain `initializing` specifically, and move the comments closer to its
definition.
Document one-Collection-per-collection rule
Update docs around storing EJSON in MongoDB
Revert "Update docs around storing EJSON in MongoDB"

This reverts commit f91d8707787f70f045d10223370bba1137c56e80.

It turns out that while we did implement "storing EJSON in MongoDB", the
technique we chose is very flaky.  Some MongoDB commands (insert,
updates that don't increase the doc size?) let you store fields with
non-starting $, and others (update that does increase the doc size?)
don't.
Better error if non-doc passed to documentMatches
History pass
expand an oplog/limit test a little

- put more info in state comments
- add a few more assertions
- stop requiring "usesOplog &&" before some helpers
failing (with oplog) test for updating a sort key
oplog-limit: don't ignore modifiers to sort key

Previously we would ignore modifier updates to documents outside our
current buffer if they did not affect the selector but did affect the
sort key.
Merge branch 'limit-sort-overlap' into devel
disallow {sort: {$natural: 1}} in minimongo
Use polling driver for {sort: {$natural: 1}}
Credit contributors.
add semicolon
Add missing selftest 'var'
Call logout in selftests that log in.

This avoids wracking up huge numbers of login tokens for the test
user. It would be nice to have these automatically cleaned up, but this
will do for now.
Make final logout unconditional for logs-mongo tests