PeerFilterProvider methods are called with the lock already held, so just assert on that instead of locking again.
Add method to derive new keys when queried by path

Added DeterministicKeyChain.getKeyByPath(List, boolean) allowing to
specify whether to create non-existing key or not
Revert "PeerFilterProvider methods are called with the lock already held, so just assert on that instead of locking again."

This reverts commit e888807dfd233f3500755a7aeb1f263c9ae65e4b.
Fix some thread safety issues with Bloom filtering.

This hasn't shown up in any bug reports, I just spotted them through reading the code.
Take out the redundant SigHashType parameter to wallet.signTransaction.

In the end the API evolved in such a way that changing this param isn't that useful. To do contracts you tend to work with transactions directly, and a Wallet subclass that needs to do special signing by default can override the signing engine used.