market: reduce coupling between market and DHT implementation.

* Also decrease coupling by removing the return value,
  since it is not used anywhere.
transport: Refactor transport.store

* Turn it into a pure wrapper around dht.iterativeStore
  to reduce maintenance cost for changes in DHT.
an up to date changelog with the latest version number is necessary for the debian building tools. re-introducing changelog update lost on release-0.2.0 branch
fixes on ubuntu build folder that were breaking the build process.
Merge pull request #720 from Renelvon/decouple2

Decouple market implementation from DHT
Merge pull request #726 from gubatron/0.2.0-debian-builder-fixes

0.2.0 debian builder fixes
Add and test hashing and iterator interface in GUIDMixin.

* Now a GUIDMixin can be used as a key in a dictionary.
* Minor refactor: drop default value for market_id and relevant test.
* Follow naming conventions.
Test addContact upgrades basestrings to GUIDMixins.
Documentation maintainance.

* Update docstrings and function signatures.
* Follow python naming conventions as much as possible.
* Be consistent in the argument names.
* Require all methods to accept GUIDMixin as ID.
* Move TimeoutError to top for readability.
Setup initial testsuite; refactor abstract methods.

* Make abstract methods raise NotImplementedError; test most of them.
* Add initialization tests for abstract class.
* Follow python naming conventions.
* Test TimeoutError.
Test and refactor RoutingTable.distance.

* Raise ValueError if strings have unequal lengths.
Test and refactor initialization of RoutingTable implementations.

* Initialize superclasses properly.
* Use `super` instead of naming the superclass explicitly.
* Defer testing of other methods for now.
* Follow python naming conventions.
Test and refactor logger instantiation.

* Delegate logger instantiation to superclass.
Fix and abstract ID range. Test init attributes.

* Install an ad-hoc equality for KBuckets.
* Follow python naming convention.
Test and refactor kbucketIndex.

* Handle GUIDMixin transparently.
* Raise KeyError on key with bad range.
* Raise RuntimeError if kbucket invariant is violated.
* Include a hint for a possible optimization.
* Follow python naming conventions.
Test and refactor getContact.

* Handle GUIDMixin transparently.
* Ignore the docstring mentioning ValueError and
  test for a None value on unsuccessful lookup, as
  is the case throughout the code.
* Align signature with kbucket.GetContact and simplify code.
* Follow python naming convention.
Test and refactor removeContact(s).

* Make argument names consistent with rest of tested code.
* Leverage exceptions to simplify code structure.
* Add logging on exception.
* Follow python naming convention.
Support GUIDMixins in RoutingTable.distance

* Expand tests.
* Follow python naming conventions.
Test and refactor touchKBucket.

* Add ability to set timestamp manually.
* Test the abstract method, too.
Drop addContact from TreeRoutingTable.

* Its proper implementation is contested.
* It references undefined names ("addErrback").
* The class itself is nowhere used in the code.
* It is very difficult to test, as it entails the network.