disable public ip detection/updating when run.sh -i argument is used

fixes #472

Signed-off-by: Thomas Stilwell <stilwellt@openlabs.co>
Search Updates

Refactoring based on feedback

Debugging and Timeout

- Remove superfluous debugging statements
- Up timeout to 10 seconds for slower peers (based on testing)

Add threading and check for empty tuples

knownNodes should not add guid-less tuples

Remove verbose debugging statements

These bad boys clog up the logs and don't serve much purpose.

Fix log size.

Disable search_for_my_node temporarily

This needs rethinking because of the nature of our network.

Re-insert lambda

I know we removed the lambda but the callback needs the key value or it fails.

Remove unused import

Grammar fix

Lambda removal

Fixed redundant urlparse calls

Removed conditional cruft

Refactor if.

* Terminate on ValueError `else` proceed.

Execute removeContact inside try.

* It may raise ValueError if contact is absent.

No need to double-check.

* Contact class overloads equality; removing a contact is
  as straightforward as removing a contactID. Check the
  unit tests for kbucket::removeContact.
Moved vagrant-cachier from :box to :machine scope. [Fixes #650] [ci skip]
Fix typo.
icanhazip: use ipv4 subdomain to receive only ipv4 addresses

Signed-off-by: Thomas Stilwell <stilwellt@openlabs.co>
Abstract kbucket unit tests from GUID implementation.
Update README.md
[TDD] Unit tests for node/connection.py.

* Check initialization of PeerConnection and CryptoPeerConnection.
Refactor and fix PeerConnection and CryptoPeerConnection.

* CryptoPeerConnection overrides equality.
* Nickname default should be consistent with parent class.
* Make unused variable private. Enable pylint to flag future
  usage outside of class.
* Set nickname in the parent class.
* Do not initialize own logger if parent provides one already.
  The parent class properly sets the logger thanks to `self.__class__`
* Install the logger last.
* Remove unused callback argument from __init__; fix rest of code.
Remove contact tests.
Remove unused contact.py.
Drop external requirement: argparse.

* argparse is in Python's Standard Library since Python 2.7.
Comment-out old broken feature test
Update requirements to integrate with coveralls
Enable coveralls integration in travis
Augment makefile test target so that it runs test with coverage
Add coveralls badge to README next to build badge
Follow code conventions
Drop unused new_keypair.cpp.

* python-gnupg handles keypair generation now.
= squash =
[FEATURE] Fix logging-not-lazy and the whole set of comments to market.py and 2 links in docs

[FEATURE] Fix comments and quotes in a log

[FEATURE] Fix comments and unit test and style for market.py

[FEATURE] Fix comments and unit test for market.py

[FEATURE] Fix comments and unit test for market.py and style