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 
}.Check(request);
    ChainstateManager& chainman = EnsureChainman(request.context);
    LOCK(cs_main);
    /*
     * Idea: The set of chain tips is the active chain tip, plus orphan blocks which do not have another orphan building off of them.
     * Algorithm:
     *  - Make one pass through BlockIndex(), picking out the orphan blocks, and also storing a set of the orphan block's pprev pointers.
     *  - Iterate through the orphan blocks. If the block isn't pointed to by another orphan, it is a chain tip.
     *  - Add the active chain tip
     */
    std::set<const CBlockIndex*, CompareBlocksByHeight> setTips;
    std::set<const CBlockIndex*> setOrphans;
    std::set<const CBlockIndex*> setPrevs;
    for (const std::pair<const uint256, CBlockIndex*>& item : chainman.BlockIndex()) {
        if (!chainman.ActiveChain().Contains(item.second)) {
            setOrphans.insert(item.second);
            setPrevs.insert(item.second->pprev);
        }
    }
    for (std::set<const CBlockIndex*>::iterator it = setOrphans.begin(); it != setOrphans.end(); ++it) {
        if (setPrevs.erase(*it) == 0) {
            setTips.insert(*it);
        }
    }
    
    setTips.insert(chainman.ActiveChain().Tip());
    
    UniValue res(UniValue::VARR);
    for (const CBlockIndex* block : setTips) {
        UniValue obj(UniValue::VOBJ);