Improve support for custom executors in listeners

First stab at fixing http://code.google.com/p/bitcoinj/issues/detail?id=567

This PR does not remove the isRelevantTransaction since an alternative method of signaling which transactions are insteresting should be provided. If you want I can add that as a different commit, but I would like input on what the alternative mechanism should work (`Set<Sha256Hash> getRelevantTransactions()`?).
You seem to have taken out the shouldVerifyTransactions() call, does this pass the unit tests? It's a part of the non-SPV full validation mode to have this.