(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.
```

"[                   (array of json object)\n"
            "  {\n"
            "    \"txid\" : \"txid\",        (string) the transaction id \n"
            "    \"vout\" : n,               (numeric) the vout value\n"
            "    \"address\" : \"address\",  (string) the bitcoin address\n"
            "    \"account\" : \"account\",  (string) DEPRECATED. The associated account, or \"\" for the default account\n"
            "    \"scriptPubKey\" : \"key\", (string) the script key\n"
            "    \"amount\" : x.xxx,         (numeric) the transaction amount in " + CURRENCY_UNIT + "\n"
            "    \"confirmations\" : n,      (numeric) The number of confirmations\n"
            "    \"spendable\" : xxx,        (bool) Whether we have the private keys to spend this output\n"
            "    \"solvable\" : xxx          (bool) Whether we know how to spend this output, ignoring the lack of keys\n"
            "  }\n"
            "  ,...\n"
            "]\n"
            "\nExamples\n"
            + HelpExampleCli("listunspent", "")
            + HelpExampleCli("listunspent", "6 9999999 \"[\\\"1PGFqEzfmQch1gKD3ra4k18PNj3tTUUSqg\\\",\\\"1LtvqCaApEdUGFkpKMM4MstjcaL4dKg8SP\\\"]\"")
            + HelpExampleRpc("listunspent", "6, 9999999 \"[\\\"1PGFqEzfmQch1gKD3ra4k18PNj3tTUUSqg\\\",\\\"1LtvqCaApEdUGFkpKMM4MstjcaL4dKg8SP\\\"]\"")
        );
    RPCTypeCheck(params, boost::assign::list_of(UniValue::VNUM)(UniValue::VNUM)(UniValue::VARR));
    int nMinDepth = 1;
    if (params.size() > 0)
        nMinDepth = params[0].get_int();
    int nMaxDepth = 9999999;
    if (params.size() > 1)
        nMaxDepth = params[1].get_int();
    set<CBitcoinAddress> setAddress;
    if (params.size() > 2) {
        UniValue inputs = params[2].get_array();
        for (unsigned int idx = 0; idx < inputs.size(); idx++) {