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
preserve docstring of wrapped function