Public earned badges via join.

This one might be a candidate for a view, reducing the number of objects
built, but the join reduces the number of trips to the PostgreSQL and
memcached.

Closes #469.
Merge pull request #474 from bellotastudios/shared-badges

Public earned badges via join.