addmultisigaddress creates an address respecting the setting, being unable to generate a specific type of address without also adding it to the wallet seems wrong.

I suppose in the future `addresstype` may be refactored to be wallet-specific, which would leave this non-wallet rpc call without an argument. Perhaps there should just be an optional parameter to set it.
void SetBroadcastTransactions(bool broadcast) { fBroadcastTransactions = broadcast; }
    
    bool TransactionCanBeAbandoned(const uint256& hashTx) const;
    
    bool AbandonTransaction(const uint256& hashTx);
    
    bool MarkReplaced(const uint256& originalHash, const uint256& newHash);
    
    static bool Verify(std::string wallet_file, bool salvage_wallet, std::string& error_string, std::string& warning_string);
    
    static std::shared_ptr<CWallet> CreateWalletFromFile(const std::string& name, const fs::path& path);
    /**
     * Wallet post-init setup
     * Gives the wallet a chance to register repetitive tasks and complete post-init tasks
     */
    void postInitProcess();
    bool BackupWallet(const std::string& strDest);
    
    bool SetHDChain(const CHDChain& chain, bool memonly);
    const CHDChain& GetHDChain() const { return hdChain; }
    
    bool IsHDEnabled() const;
    
    CPubKey GenerateNewSeed();