Fix OptimizedRoutingTable::removeContact to catch ValueErrors.

### Changelog:
* Refactor `try-except` + `if` as `try-else`. [Check](https://docs.python.org/2/reference/compound_stmts.html#the-try-statement).
* Use `contactID` as contact identifier. This works because [Contact.__eq__](https://github.com/OpenBazaar/OpenBazaar/blob/master/node/contact.py#L14) is overloaded.
* Protect `kbucket::removeContact`; it may throw `ValueError`.
* Remove contact in one step.