wallet: modify recovery logic to not start from genesis
wallet: modify recovery logic to not start from genesis

This commit serves as another building point to allow the wallet to not
store blocks all the way from genesis to the tip of chain. We modify the
wallet's recovery logic to now start from either its birthday block, or
the current reorg safe height if it's before the birthday, to ensure the
wallet properly only stores MaxReorgDepth blocks.

We also refactor things a bit in hopes of making the logic a bit more
readable.

btcsuite/btcwallet,btcsuite/btcwallet