Fix bug 1051819: Fix reduce empty set bug and hide invisible categories.

Instead of attempting to reduce an empty set when `links` is called on
a Category with no banners, we exit early.

Also moves the logic for filtering out Categories with no visible
banners to the CategoryQuerySet, and hides these categories from the
statistics views.
I blame brain farts