The plan is to introduce block parking policies after ConnectTip since we can
be certain the block is valid. This patch moves block finalization logic so
that we do not advance finalization on a possibly parked chain.
Constness of FindBlockToFinalize was changed to better indicate that the
returned block index may be modified via InvalidChainFound but pindexNew
is not expected to change.