(from discussion on IRC. Currently a global `settxfee` has to be changed to override the fee rate, it would make sense to be able to specify it on a per-transaction basis. This would continue #7518)

```
-*- jonasschnelli thinks we should probably add a optional feerate parameter to fundrawtransaction
<wumpus> jonasschnelli: there isn't one yet?
-*- jonasschnelli looking..
<wumpus> I'm surprised, would be so much better than changing a global
<jonasschnelli> no.. i don't think so. Maybe there is a PR.
<sipa> there is a pr
<jonasschnelli> Hard to keep track of everything. :)
<wumpus> no, the PR does it wrong
```

Regarding implementation:

```
<jonasschnelli> The ugly thing is, that CreateTransaction uses the static DEFAULT_TARGET
<wumpus> passing in an optional feerate would be the obvious thing to do
<jonasschnelli> So, this would require some refactoring.
<sipa> just add a confirmation target to coincontrol
<jonasschnelli> Yes. This sounds good.
<wumpus> right, just slap it into coincontrol
<sipa> wasn't there a PR that added a bunch of options to fundrawtransaction?
<sipa> including that
<jonasschnelli> Not the feerate.
<jonasschnelli> But the rest is merged.
```

set<pair<const CWalletTx*,unsigned int> >& setCoinsRet, CAmount& nValueRet) const
{
    setCoinsRet.clear();
    nValueRet = 0;
    
    pair<CAmount, pair<const CWalletTx*,unsigned int> > coinLowestLarger;
    coinLowestLarger.first = std::numeric_limits<CAmount>::max();
    coinLowestLarger.second.first = NULL;
    vector<pair<CAmount, pair<const CWalletTx*,unsigned int> > > vValue;
    CAmount nTotalLower = 0;
    random_shuffle(vCoins.begin(), vCoins.end(), GetRandInt);
    BOOST_FOREACH(const COutput &output, vCoins)
    {
        if (!output.fSpendable)
            continue;
        const CWalletTx *pcoin = output.tx;
        if (output.nDepth < (pcoin->IsFromMe(ISMINE_ALL) ? nConfMine : nConfTheirs))
            continue;
        int i = output.i;
        CAmount n = pcoin->vout[i].nValue;
        pair<CAmount,pair<const CWalletTx*,unsigned int> > coin = make_pair(n,make_pair(pcoin, i));
        if (n == nTargetValue)
        {
            setCoinsRet.insert(coin.second);
            nValueRet += coin.first;
            return true;