Update mongoose to v3.8.4

This version of mongoose correctly handles assigning whole documents to
a string value field by casting it to the document's _id value as a
string, rather than a JSON representation of the document. This fixes
the issue detailed in #298 with creating memberships in the Migration
Tool.

The reason it's locked at 3.8.4 rather than using the latest (3.8.5) is
explained in mysociety/popit-api@0d6288a, but the short version is that
popit and popit-api don't play nicely when they both use the same
mongoose version.
Fix test failures resulting from mongoose upgrade

* Update error display to use the `.message` attribute of the error
* Remove invalid mongo queries [1] in the autocomplete module
* Add custom error messages to the instance model to match test
  expectations

[1] https://github.com/LearnBoost/mongoose/wiki/3.8-Release-Notes#validation-against-nonsensical-queries