Remove duplicate test file.
Groom test_network_util.

* Visually separate right from wrong testcases.
* Add provision for running test without nosetest support.
* Remove execute flag.
Do not comment the obvious.
Refactor pyelliptic tests.

* Rewrite tests as unittests.
* Remove execute flag from file.
* Make imports consistent with rest of code.
Rewrite and expand kbucket tests.

* Factor contact creation.
* Drop empty tearDown.
* Never import classes, only modules.
* Test KBucket init.
* Test len.
* Test getContact
* Test getContacts.
* Test addContact.
* Test removeContact.
* Test keyInRange.
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.