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.
{
                nRequests = (*mi).second;
                
                if (nRequests == 0 && !hashUnset())
                {
                    std::map<uint256, int>::const_iterator _mi = pwallet->mapRequestCount.find(hashBlock);
                    if (_mi != pwallet->mapRequestCount.end())
                        nRequests = (*_mi).second;
                    else
                        nRequests = 1; 
                }
            }
        }
    }
    return nRequests;
}
bool CWallet::DummySignInput(CTxIn &tx_in, const CTxOut &txout) const
{
    
    const CScript& scriptPubKey = txout.scriptPubKey;
    SignatureData sigdata;
    if (!ProduceSignature(*this, DUMMY_SIGNATURE_CREATOR, scriptPubKey, sigdata))
    {
        return false;
    } else {
        UpdateInput(tx_in, sigdata);
    }
    return true;
}
bool CWallet::DummySignTx(CMutableTransaction &txNew, const std::vector<CTxOut> &txouts) const