This PR adds a method that implement common logic to WalletLoader methods and change them to return BResult<std::unique_ptr<Wallet>>.
Motivation: #25594 changed restoreWallet to return BResult but this method shares a common pattern with createWallet and loadWallet. This PR keeps the same pattern to all WalletLoader methods.