KBucket.getContact expects guid, not contact object.
Searches for contact among existing contacts always failed in KBucket.getContact when called from OptimizedTreeRoutingTable.addContact.
[WIP] removing pysqlcipher sources from the repo.

Travis builds are taking too long due to double installations of pysqlcipher,
the second installation which runs from pip seems to be doing fine now, if there
are any issues left in pysqlcipher we'll fix them upstream as suggested by @dionyziz
Merge pull request #755 from gubatron/bye-bye-pysqlcipher-sources

removing pysqlcipher sources from the repo.
Merge pull request #745 from freamon/bugfixes

Fix for DB writes
Add check_port to network_util.

* Prefer ipv6 over ipv4 sockets.
* Accept variable timeout.
Refactor code in connection.py

* Drop unused PeerConnection.responses_received.
* Refactor PeerConnection.create_zmq_socket.
  * Allow it to raise an exception; we are catching it elsewhere.
  * Make it a private function.
* Refactor PeerConnection.send_raw.
  * Make failure cases stand out.
  * Do not compress until ready to send.
* Make failure cases stand out in CryptoPeerConnection.start_handshake.
* CryptoPeerConnection.check_port is now only a wrapper.
* Shorten CryptoPeerConnection.sign.
* Straighten CryptoPeerConnection.encrypt.
* Refactor CryptoPeerConnection.send.
  * Make failure cases stand out.
  * Guard against encrypt returning False.
* Remove PeerListener.cleanup_context. PeerListener no longer manages
  it own zmq.Context. Purge any references.
* Straighten PeerListener.listen.
* Remove unused import.
Use network_util utilities in DHT.
Use tornado builtin to check for valid IPs.
Other style fixes.

* Abstract protocol in get_peer_url.
* Replace special-purpose code with check_port.