replaced function based generic views with their class based successors

Django 1.5 deleted all the function based generic views. This commit also contains
an implementation of TaggedObjectList, which is a reimplementation of django-tagging's
tagged_object_list. Since django-tagging is no longer maintained, the chances
aren't very high that this change would be integrated upstream.