fix(ultimateGear): fix bug where ultimateGear isn't awarded

This does several things:
- Moves the calculation of the ultimateGear achievement into its own
function on user.ops.
- Only computes ultimateGear if item is last and the user does not
already have the achievement
- Fixes bug where ultimateGear was not awarded if user wasn't wearing
their class gear at the time of item purchase.
- Adds content.classes and content.gearTypes which we should start using
elsewhere.
- Added tests for ultimateGear

Fixes HabitRPG/habitrpg#2232.
perf(ultimateGear): move ultimateGear from ops to fns so it only runs once
Merge pull request #89 from colegleason/ultimate-gear

Calculate ultimateGear achievement in user.ops