Drop indirect dependencies.

* Drop backports.ssl-match-hostname and certifi; installed by tornado.
* Drop ecdsa, and zope.interface; installed by python-obelisk.
* Drop websocket.client; it is nowhere used.
* Drop wsgiref; it is a standard module.
Merge pull request #815 from Renelvon/less_reqs

Drop indirect dependencies.
Return from new peer handshake, save peer to db

Enable return from new peer handshake to add_peer() so peer info is
saved to persistent database.
Bugfix: .join() expects list argument
Merge pull request #827 from freamon/fix_return_from_handshake

Fix return from handshake
Abstract methods overriden by subclass.

* TransportLayer is never instantiated, so all its overriden methods
  are dead code, since the subclass never refers to them.
Remove unused methods (iteration 1).
Remove unused methods (iteration 2).
Remove unused methods (iteration 3).
Remove unused methods (iteration 4) and imports.
Remove unused uri_parts.

* Also remove tests.
Remove unused code from protocol module.
Remove tests of dropped functions.
Various cleanups.

* Move `store` function to CryptoTransportLayer; TransportLayer has no
  `dht` attribute.
* Drop getters for public attributes.
* Clarify code using `get`.
* Use None as default callback.
* Minor style fixes.
ask users for permission before upgrading all their homebrew packages
Merge pull request #830 from davidhq/develop

ask users for permission before upgrading all their homebrew packages
Merge pull request #828 from yagoulas/thin_transport2

Remove dead code from transport.py