HD Wallets: final part needed before release.

If a key is seen in a filtered block that is too far inside our lookahead zone, discard that block and any further blocks being sent to us by a remote peer and recalculate the Bloom filter after more keys are pre-calculated. Then restart the chain download process. This ensures that we can catch up/replay the block chain and keep up with the deterministic key sequence.
Could have just one if statement with an else clause:
```
if (awaitingFreshFilter != null) {
  ...
  return;
} else if (checkForFilterExhaustion(m)) {
  ...
  return;
}
```