Add some docs and comments.
Security context requires a Zope user, not a Plone member.
Add test for an agent that runs as owner.

This doesn't test that the agent switches back ownership, because
following tests use a new request.
Do the user switching\!
Add test for reader dropping back from owner after calling agent.

This test is currently failing because a PlominoScriptException
\('Unauthorized: You are not allowed to access 'save' in this context'\)
is being swallowed.
Ownership switch needed in both __call__ and runAgent.
Merged.
handle SpecialUser (i.e. Anonymous) in runAsOwner agent
fix test
fix SpeacialUser case in __call__
merge