Mark reason and error as optional in new Meteor.Error
Pass failure message for test.length()
Merge branch 'master' into devel
Merge branch 'master' into devel
Try to fix #2093
Test for #2093
Fix test for #2093
Improve 'meteor mongo' error message

Fixes #1256
new dev bundle: with npm/npm#5137

We should be able to remove our "npm install --force" workaround after
this.
We no longer need to pass --force to npm install

(Also, make a test assertion useful: assert.equal's default truncation
is horrible.)
A better version of our patch

However, the better version involves taking some changes from a version
of npm not yet released with Node.
update regexp for new version of npm

also, use quotemeta where necessary
Merge branch 'fix-npm-cache' into devel
Follow-up to 4777e64: fix client-specified _id

This was a regression in 0.8.1 which caused client-specified `_id` to
always be ignored for collections with at least one allow/deny rule.

Fixes #2097. Fixes #2099.
Run server tests one at a time.
Fix serializing server tests.

`Tinytest.add` is now implemented in terms of `Tinytest.addAsync`, and
the old `async` flag removed.
History for #2088
Merge branch 'master' into devel

Conflicts:
	History.md
	packages/minifiers/urlrewriting-tests.js
Ban inserting EJSON custom types as documents

Follow-up to 63b3119; further addresses #2095.

There were a few problems here:

- We didn't check that the argument to insert was a document.  (EJSON
  custom types don't count as documents, because they don't have _ids!)

- The check to see if something coming from the database was an EJSON
  custom type didn't match the check in ejson.js (specifically, it was
  missing size===2). This made it sort of look like you could use EJSON
  custom types as top-level documents, until a change in the MongoDB
  driver made made that coincidental almost-working code stop working.

- The replaceNames function wasn't documented as only taking pure JSON,
  so it wasn't obvious that "it throws when there's a Buffer" was a bug
  in the caller rather than a bug in replaceNames.

This should all be resolved now.  Use cases like CollectionFS which were
mislead by these bugs into believing that an EJSON custom type could be
a document should move their custom type into a field.
Update Node to 0.10.28 which includes our npm fix