* 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
* 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
* No longer panic when updating self peer ID in kbuckets
* Minor code improvement in flush()
* Small improvement to handle_find_node_req
* expected_pongs no longer mut
* Clean up KadServerInterface trait
* find_node() returns an impl Future
* Rework kad_server's API to remove the interface
* Remove the error mapping in kad_bistream.split()
* Use a name type in protocol.rs
* respond() now takes an iter of Peers + add tests
* Use concrete Future type in kad_server upgrade
* Let the high level code decide the TTL of the addrs
* Replace QueryInterface::send with find_node_rpc
* Replace KademliaProcessingFuture with KademliaPeerReqStream
* requested_peers() now returns an iter
* gen_random_id() only requires &PeerId
* Remove QueryInterface and return stream of events
* Remove add_peer_addrs from query
* Remove the peer_store and record_store params
* Tweak multiaddresses reportin
* Remove dependency on peerstore
* Fix tests