Added plone.api.roles() context manager, for temporarily overriding roles in unit tests.
TODO, write documentation and suitable warnings in docstrings about how you shouldn't use it in production.
Tidy-up: remove unused api.user.create() call from unit test_adopt.py
Tidy-up: Rename test_adopt.py to test_roles.py so that the file name matches the api call.
Instead of having an "adoption" module and a function "api.adopt", move role adoption into an "api.env" module as "api.env.adopt_roles()". It's now narratively documentated too, with passing doctests and unit tests.
narrative documentation for api.env, by RichyB