WIP Almost complete refactoring and unit testing of routingtable. Minor refactoring of kbucket.

Very WIP. I will describe tomorrow; really tired now.

### Bugs found:
* Many operations are potentially thread-unsafe.
* The `replacement_cache` isn't synchronized once a `KBucket` is split.
Is was dropped, as it was broken. See commit https://github.com/Renelvon/OpenBazaar/commit/62c07a35744e0dce15867be8da99a297ae36dfa7