Update README.md
[FEATURE] Added additional required packages in requirements.txt
Merge pull request #556 from Ignat99/feature

[FEATURE] Added additional required packages in requirements.txt
DHT._dataStore -> DHT.dataStore
DHT/Transport refactors, updates.

 - DHT on_find_node DRY refactors.
 - TransportLayer/CryptoTransportLayer now destroy ZMQ sockets on shutdown.
Remove contact in place (without rebuilding list).
Docstring fixes.
Just a list.
Honour import style.
Delegate removal to python. Avoid recreating list.

* Using list.remove means the element is removed
  in-place and no new list is created. This lessens
  the space requirements and may improve speed.
Simplify getContacts.
More docstring fixes.
Raise value error when removing non-existing contact.

Fix #535.
Enable due test.
Remove execute flag.
Wrap long line.
Simplify __eq__; drop __ne__

Implementing both __eq__ and __ne__ is error prone.
As it should always be the case that
    (a != b) == not (a == b)
only one magic function is needed; the other will be provided
automatically.
A simple hash.
Implement __repr__; derive __str__ automatically.

Implementing __str__ but not __repr__ is considered bad practice,
and makes debugging a bit awkward, because Python drops in a default
replacement for the missing __repr__. However, if only __repr__ is
implemented, then it will be used for both repr and str calls.
Unit tests for node/contact.py.