message: [RPC] Fixup signrawtransaction on regtest
  The `signrawtransaction` RPC command needed some modification to appease
  the fake stake test cases, however that change introduced a minor
  inconsistency in it's operation.
  This PR restores the original functionality, while still providing a
  means to be used for the fake stake test cases.
diff: @@ -758,7 +758,7 @@ UniValue signrawtransaction(const UniValue& params, bool fHelp)
  CTxIn& txin = mergedTx.vin[i];
  const CCoins* coins = view.AccessCoins(txin.prevout.hash);
  if (Params().NetworkID() == CBaseChainParams::REGTEST) {
  - if (mapPrevOut.count(txin.prevout) == 0)
  + if (mapPrevOut.count(txin.prevout) == 0 && (coins == NULL || !coins->IsAvailable(txin.prevout.n)))
  {
  TxInErrorToJSON(txin, vErrors, "Input not found");
  continue;
  @@ -769,7 +769,7 @@ UniValue signrawtransaction(const UniValue& params, bool fHelp)
  continue;
  }
  }
  - const CScript& prevPubKey = (Params().NetworkID() == CBaseChainParams::REGTEST ? mapPrevOut[txin.prevout] : coins->vout[txin.prevout.n].scriptPubKey);
  + const CScript& prevPubKey = (Params().NetworkID() == CBaseChainParams::REGTEST && mapPrevOut.count(txin.prevout) != 0 ? mapPrevOut[txin.prevout] : coins->vout[txin.prevout.n].scriptPubKey);
  txin.scriptSig.clear();
  // Only sign SIGHASH_SINGLE if there's a corresponding output:
  