Fix `applyFixtures`

Instead of manually keeping track of which model collections to flush,
use the low-level `dropDatabase` method on the client connection. It's a
little slower for some reason, but it's way more reliable.
Add `util.negate`

This function takes an (asynchronous) function that is expected to
return a boolean and returns a new function which returns the inverse of
the original function.
Implement autoawarding based on category.

Whenever a badge that has a weight is awarded, we try to figure out if
that user has earned enough in that category to earn any related
category badges.
Merge pull request #115 from mozilla/categorical-badges

Autoaward badges