Do not test default value for market_id.
Drop default value for market_id.
Docstring fixes.

* Move TimeoutError for readability.
Make abstract methods raise NotImplementedError.
Setup initial testsuite.

* Test TimeoutError.
* Partial tests for RoutingTable.
Test RoutingTable.distance.

* A ValueError should be raised on strings of unequal length.
Raise ValueError if strings have unequal lengths.
Initialization tests of RoutingTable implementations.

* Defer testing of other methods for now.
Initialize superclasses properly.

* Delegate initialization of inherited attributes to supeclass.
* Use `super` instead of naming the superclass explicitly.
Test that logger is installed.
Delegate logger instantiation to superclass.
Test init attributes.

* Install an ad-hoc equality for KBuckets.
Test kbucketIndex.
Refactor kbucketIndex.

* Raises KeyError on key with bad range.
* Raises RuntimeError if kbucket invariant is violated.