using bitcoinj 0.9
Refactoring code to be more OO (WIP)

Saved WIP changes that break crucial tests.
Some work on dht object signing.