Do not process any more blocks if shutdown is requested
Do not process any more blocks if shutdown is requested

Sometimes an operator will interrupt an initial sync and when
they restart there can be up to 1000 blocks to connect. The operator
sometimes thinks something is wrong because it's taking so long
to startup and then initiates a shutdown, but shutdown counldn't happen
until all the blocks were connected leading the operator to think
something is seriously wrong somewhere. This PR simply allows shutdown
to be called during ActivateBestChainStep() but always will connect
at least one block which prevents us from shutting down without
connecting a newly arrived block at the chain tip but also prevents
us from hanging when many blocks need to be connected during sync.

BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,Justaphf/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,Justaphf/BitcoinUnlimited,Justaphf/BitcoinUnlimited,Justaphf/BitcoinUnlimited,Justaphf/BitcoinUnlimited,Justaphf/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited