Phester needs a way to act as different users, to test capabilities of
users with different privileges, as well as testing interactions
betweren multiple users. It make this convenient and performant,
it should be easy for users to be created and logged in in a fixture,
with the resultign session being available for re-use in tests.
For now, a "session context" will provide an opaque cookie jar.
Other things, like variables, can be added to it later.
Some key ideas:
* a session context contains all the cookies set in responses, and sends them
out in requests.
* contexts used by fixtures become available to tests under the name of the fixture.
A test that declares a dependency on fixture "Foo" can use that fixture's context,
and can rfer to it by the name "Foo".
* there is one default session context associated with each interaction (one for
each test, one for a suit's setup, one for a fixture). no context exists for the
suite itself.
* instead of using a fresh empty context, another context can be imported
(cloned) by name for use in the interaction
* individual requests can again use a (clone of) a different context, referenced
by name.