* error codes for connections and streams are part of interfaces
* yamux and build-in ping
* host is explicitly stopped in test
* added expire timer for yamux connection
* fixes in event bus
* feedback on connections close
* cyclic dependencies resolved, connectedness is a function of Host
* bugfixes in yamux creation
* minor format fixes
* post-review corrections
* feature: improve random generator
* fix: getting listened multiaddress in tcp listener
* fix: reduce logging in secio
* feature: new implementation of kademlia
* feature: validation
* fix: DSA
* feature: CIDv1 encoding
* refactoring: replace deprecated sha256 function by hasher
* fix: multiaddress operations
* feature: make PeerId comparable to using in std::set
* refactoring: addr repo
* feature: rendezvous chat as example of Kademlia using
* feature: unit-test for kademlia parts
* wipe: remove previous implementation of Kademlia
* fix: cmake files
* fix: some warnings
* feature: using timeout for make new stream
* feature: smart using of peer routing
* fix: kademlia message parsing
* refactoring: headers including
* feature: add handle and timeout as argument of Host::connect
* fix: some log messages
* feature: Host::disconnect method
* fix: providing listen-addr in messages of Identify protocol
* refactoring: improve multiaddress manipulations
* refactoring: one way for naming of target for protobuf
* fix: clean up; format
* fix: change level some log
* fix: suppress connection to themselves
* fix: prepare rendezvous chat as example to introduction and provide README
Signed-off-by: Dmitriy Khaustov aka xDimon <khaustov.dm@gmail.com>