decorator for validating required parameters
update comments
Make decorator take a variable-length argument list
Make unit tests use longer parameter names than one character
Apply required_parameters to content.py
Alphabetise and remove unused imports in validation.py and test_validation.py
apply @required_parameters to group.py and update tests
apply @required_parameters to portal.py and update tests
apply @required_parameters to user.py and update tests
make required_parameters validator raise MissingParameterError if the passed value is None.  This is to make it match the original validation in the api methods.
add todo to comments
actually do the test for None-valued parameters :)
Update tests
pull out some common code into separate functions in preparation for new decorators
Make the checking for None happen in _get_supplied_args.  That way we can possibly change the definition of 'supplied' in future, to include args that are None.
mutually exclusive decorator and tests
apply @mutually_exclusive_parameters decorator to content.py and update tests
Implement the check for mutually exclusive arguments
apply @mutually_exclusive_parameters decorator to group.py and update tests
apply @mutually_exclusive_parameters decorator to user API
docstring formatting
Rich showed me a magic thing you can do to concatenate strings over two lines.
test for _get_supplied_args