Overhauled Notifications System

The logic for notifications has been rewritten using HQL and querydsl
instead of Hibernate. It's still not as fast as I'd like, and there are
still a bunch of things I'd like to do on the frontend (prettying up the
notifications page instead of showing every notification, etc), but at
least it seems to work now.