Avoid unclean reactor errors from `vertex.ConnectionCache`.

`ConnectionCache` didn't properly wait for connection to close,
when shutting down.
Merge forward.
Add some tests for ConnectionCache.
Add some tests fron ConnectionCache.shutdown.
Make `SigmaProtocol` play well with `ConnectionCache`.

`ConnectionCache.cacheUnrequested` requires that the protocols passed
to, to handle disconnections.
Skip test about not waiting for disconnection from unrequested connections.
Bump twisted version to 13.1.0.

I use the fact that `assertNoResult` doesn't swallow the eventuall
result in the tests.
Fixes for more complete `SigmaProtocol.connectionLost`.
Merge forward.
Factor tests.
Wrap long line.
Typo: shutdwon
Add some docstrings.
Move SigmaProtocol tests to test_sigma.
Remove backwards test.
Merge 'unclean-reactor': Avoid unclean reactor errors from `vertex.ConnectionCache`.

Reviers: cyli, glyph.

`vertex.ConnectionCache.shutdown` now waits for connection to finish closing.