Calling `*txoutset` calls in the console has been broken since #19056. The addition of the `RpcInterruptionPoint()` calls means that any user running the GUI without passing `-server`, will just see ["Shutting down"](https://github.com/bitcoin/bitcoin/blob/b33136b6ba9887f7db651c4c5264ca7f2f601df7/src/rpc/server.cpp#L325) printed to the console:

![console](https://user-images.githubusercontent.com/863730/84460760-55599a80-ac9d-11ea-8720-a718edde75dd.png)

cc @MarcoFalke 
UniValue ret(UniValue::VOBJ);
    ret.pushKV("time", (int64_t)pindex->nTime);
    ret.pushKV("txcount", (int64_t)pindex->nChainTx);
    ret.pushKV("window_final_block_hash", pindex->GetBlockHash().GetHex());
    ret.pushKV("window_final_block_height", pindex->nHeight);
    ret.pushKV("window_block_count", blockcount);
    if (blockcount > 0) {
        ret.pushKV("window_tx_count", nTxDiff);
        ret.pushKV("window_interval", nTimeDiff);
        if (nTimeDiff > 0) {
            ret.pushKV("txrate", ((double)nTxDiff) / nTimeDiff);
        }
    }
    return ret;
}
template<typename T>
static T CalculateTruncatedMedian(std::vector<T>& scores)
{
    size_t size = scores.size();
    if (size == 0) {
        return 0;
    }
    std::sort(scores.begin(), scores.end());
    if (size % 2 == 0) {
        return (scores[size / 2 - 1] + scores[size / 2]) / 2;
    } else {
        return scores[size / 2];
    }
}
void CalculatePercentilesByWeight(CAmount result[NUM_GETBLOCKSTATS_PERCENTILES], std::vector<std::pair<CAmount, int64_t>>& scores, int64_t total_weight)