doctest enumeration: glob does not support '**'
options: add size1 option
proxy: rework async main to allow more control

this allows the test routines to really shut down the proxy servers,
which previously led to spurious failures in the test suite due to
lingering servers. (REUSEADDR doesn't really help there either).

as a result, the cli proxy's main is now not a coroutine any more, but
an object for whose .initialized one can wait.
protocol: asynchronous shutdown (api change)

this changes the Context.shutdown method to a coroutine, allowing
protocol users to wait for the context to be really shut down.

this helps in tests, but requires all users of .shutdown() to either
`yield from` it or to run it as an asyncio.Task.