change the way viewable questions are worked out

Instead of getting all questions and then filtering out hidden ones in Python, use querysets in Question.objects.viewable_by
Question.objects.viewable_by shows superusers everything