methods kwd for permission_required decorator

if methods is specified, the decorator will only enforce the given
permission for requests with a method as in methods.
e.g., @auth.permission_required('foo', methods=['POST']) will
only check the user for permission 'foo' in POST requests
but won't restrict other requests.
If methods is None (default), the permissions will be enforced
on all requests regardless of their method.
Merge pull request #113 from joernhees/permissions_methods

methods kwd for permission_required decorator