Use OplogObserveDriver for most selectors.

Previously OplogObserveDriver was only used for selectors which
performed equality checks against scalars. Now that we believe minimongo
to be more robust in the face of more MongoDB edge cases, we use
OplogObserveDriver (if configured) for any selector that minimongo can
compile except those containing $near or $where.

(We still do not use OplogObserveDriver for cursors with skip or limit.)
Disallow {fields:{_id:0}} in observeChanges

This implies it is not allowed in `observe` either, or in cursors
returned from publish functions, or in cursors used in {{#each}}

Why? observeChanges and DDP publication use the ID as part of the
callback/message, and eliding it completely breaks them. Meteor UI uses
the ID with {{#each}} to properly move nodes around instead of
re-rendering. We could try to allow it for `observe` outside of
{{#each}}, but it would feel somewhat inconsistent.
Update concepts.html
Wording tweak.
Merge branch 'pr/1711' into devel
Remove warning about update/$
Improve docs for server-to-server collections

Fixes #1723.
Update coffeescript.html
Add Oxford comma

http://www.washingtontimes.com/news/2013/dec/11/comma-twitter-erupts-over-obama-castro-marriage/
Merge branch 'pr/1732' into devel
Patch _.each to not treat {length: 5} as an array

Specifically, in all Underscore "collection" functions which treat their
arguments polymorphically as either "object-like" or "array-like", don't
treat arguments with `x.constructor === Object` as arrays (except for
the 'arguments' object).

Fixes #594. Fixes #1737.
Add #594 fix to History
Fix $type:4 queries and sorts with numeric indices

Add lots of sort tests.  All new tests in this commit have been verified
against MongoDB (2.5).
Merge remote-tracking branch 'origin/devel' into sso