Access secret directly in Transport

* Should make testing much simpler
Update tests for connection.py to reflect the recent cleanup
Add a first integration test for connectio.py

Add TestConnectionIntegration that creates a PeerConnection and a PeerListener
and makes them talk together to make sure the network infrastructure of the
program works