Decouple market implementation from DHT

### Changelog
* Introduce `TransportLayer.store` as an intermediate (wrapper) between the `dht` and the `market` modules, for better encapsulation of both.
* Use "star arguments", so that backwards-compatible changes in the `dht` code don't affect the wrapper.

Reposted since #639 targets `master` and #715 has unclean history.