* Rewrite the swarm
* Small improvement to Debug of ListenersStream
* Fix Swarm::Replaced never being produced
* Fix logic problem when reaching a node in swarm
* Small comment in swarm
* Add closed_multiaddr to Replaced event
* Add address to NodeClosed and NodeError
* Fix concerns
* Remove StreamMuxer::boxed
* The SwarmFuture is now a Stream
* Return the produced future in the message
* Remove IncomingConnection event
* Pass error when failing to dial
* Fix loop break mistake
* Fix concern
* Rename SwarmFuture to SwarmEvents
* Increase type length limit
* Remove todo
* Stronger typing for the swarm handler future
* The swarm future is now a swarm stream of events
* Rewrite StreamMuxer in core
* Update libp2p_mplex for the new stream muxer
* Update yamux for new stream muxer
* Use Multihash and MultihashRef instead
* Don't use star imports
* Split EncodeError and DecodeError
* Add DecodeOwnedError
* Some cleanup
* Remove Hash::name()
* Some crate root documentation
* Add some more methods
* Fix tests
* Add PartialEq between Multihash and MultihashRef
* Fix the rest of the repo
* Rename hash_data() to digest()
* Add comment about varint
* Remove Error::description impls
* Rework swarm and allow interrupting a dial
* Improve the UniqueConnec situation
* Remove UniqueConnec::get
* Rename `get_or_dial()` to `dial()` and add `dial_if_empty()`
* Clean the UniqueConnec is the future is dropped
* Rename `set_until` to `tie_or_stop` and add `tie_or_passthrough`
* Add some tests, docs
* Fix memory leak with tasks registration
* Interrupt dialing when a UniqueConnec is dropped or cleared
* Add memory transport.
* Change test to be compatible with rust stable.
* Address concerns
* Add some documentation and minor fixes
* Move transport test to memory module
* Rewrite multiplex
* Increase the packet size limit to 32 MB
* Fix waiting for poll_complete to finish
* Typo
* Properly close substreams
* Add a limit to the number of substreams
* Add a limit to the length of the internal buffer
* Fix concerns
* Kademlia high-level rework
* Some changes in the rework
* Some additional tweaks to kad rework
* Add update_kbuckets
* Rename a bunch of Kademlia stuff
* Add KadSystem::local_peer_id
* Some documentation update
* Concern
* Make the example compile
* Make things nicer
* Fix bug in UniqueConnec
* Add clear() to UniqueConnec
* Add UniqueConnec::poll
* Fix potential deadlock in UniqueConnec
* Add UniqueConnec::state()
* The future of get now contains a Weak
* Fix concerns