Mixin class for permission_required classes

Decorating the __init__ method of a class with @user.permission_required
worked, but didn't allow access to the "allowed" method of the wrapper
class so permission could be checked before making a call.

Instead of decorating __init__, derive from @user.permission_checked and
set the permission_required class attribute; attempts to instantiate the
class will be checked and there's an "allowed" method.