Add a few functions to newtork_util.py

* Add: get_my_ip, is_ipv6_address and get_peer_url.
* Useful for refactoring transport.py.
Factor a (Crypto)PeerListener out of TransportLayer.

* Do not start the listener in TransportLayer.

* Only CryptoTransportLayer should start the listener, to conform with
  the tests.

* Various code improvements
Update tests to check the new TransportLayer interface.

* TransportLayer._on_raw_message now receives just a dict.
* Text conversion has been delegated to PeerListener.
Merge pull request #678 from yagoulas/listener-refactor

Listener refactor
Factor GUIDMixin definition in a new file.

* Abstract initialization of GUIDMixin inside
  initialization of CryptoPeerConnection
* Coerce string to GUIDMixin when adding contact.
Support unicode GUIDs.
Test GUIDMixin.

* Also test CryptoPeerConnection subclassing.
Update documentation.