* Rename Transport::RawConn to Output
* Remove AsyncRead + AsyncWrite bound on Transport::Output
* UpgradedNode now always implements Transport
* Add and tweak modifiers for Transport and ConnectionUpgrade
* Secio upgrade now returns the pubkey in its output
* Add upgrade::apply
* Add Transport::and_then
* Rework the swarm
* Rustfmt
* Fix concerns
* Add a proper PeerId to Peerstore
* Turn identify into a transport layer
* Expose the dialed multiaddress
* Add identified nodes to the peerstore
* Allow configuring the TTL of the addresses
* Split identify in two modules
* Some comments and tweaks
* Run rustfmt
* Add test and bugfix
* Fix wrong address reported when dialing
* Fix websocket browser code
* Support the p2p protocol in libp2p-identify
* Fix concerns
* Fix libp2p-dns
* More concerns
* Add circleci config file
* Try enable IPv6
* Make sure `test` uses machine executor
* Add an integration_test step in parallel
* Explicit docker runs for machine tests
* Try make the integration test work
* Hide Dockerfile in a subfolder
* Fix the ping example hanging
* Explicitely pass the port to the ping client