When I run `scantxoutset` via RPC using big range (e.g. 10000) on XPUB, the progress report indicator (`scantxoutset status`) reports 100% at start (while the keys are being derived). This is most probably the result of the previous operation. The progress is only reset to zero when the actual scan starts. I would expect the progress is set to zero before the keys are being derived.

Output of periodic calls to `scantxoutset status` while performing long operation.

```
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 100 }
{ progress: 0 }
{ progress: 3 }
{ progress: 6 }
{ progress: 9 }
{ progress: 12 }
{ progress: 15 }
{ progress: 17 }
{ progress: 20 }
{ progress: 23 }
{ progress: 26 }
{ progress: 29 }
{ progress: 32 }
{ progress: 35 }
{ progress: 37 }
{ progress: 40 }
{ progress: 43 }
{ progress: 46 }
{ progress: 49 }
{ progress: 51 }
{ progress: 54 }
{ progress: 57 }
{ progress: 60 }
{ progress: 63 }
{ progress: 66 }
{ progress: 68 }
{ progress: 71 }
{ progress: 74 }
{ progress: 77 }
{ progress: 80 }
{ progress: 82 }
{ progress: 85 }
{ progress: 88 }
{ progress: 91 }
{ progress: 94 }
{ progress: 97 }
{ progress: 100 }
```
{ "blockchain",         &getblockheader,                     },
    { "blockchain",         &getchaintips,                       },
    { "blockchain",         &getdifficulty,                      },
    { "blockchain",         &getmempoolancestors,                },
    { "blockchain",         &getmempooldescendants,              },
    { "blockchain",         &getmempoolentry,                    },
    { "blockchain",         &getmempoolinfo,                     },
    { "blockchain",         &getrawmempool,                      },
    { "blockchain",         &gettxout,                           },
    { "blockchain",         &gettxoutsetinfo,                    },
    { "blockchain",         &pruneblockchain,                    },
    { "blockchain",         &savemempool,                        },
    { "blockchain",         &verifychain,                        },
    { "blockchain",         &preciousblock,                      },
    { "blockchain",         &scantxoutset,                       },
    { "blockchain",         &getblockfilter,                     },
    
    { "hidden",              &invalidateblock,                   },
    { "hidden",              &reconsiderblock,                   },
    { "hidden",              &waitfornewblock,                   },
    { "hidden",              &waitforblock,                      },
    { "hidden",              &waitforblockheight,                },
    { "hidden",              &syncwithvalidationinterfacequeue,  },
    { "hidden",              &dumptxoutset,                      },
};
    for (const auto& c : commands) {
        t.appendCommand(c.name, &c);
    }
}