Viewset mixins

Mixins that are intended to be dropped into viewset declarations. The purpose of these is to provide generic functionality.