* 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
* 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
* 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