<!-- Describe the issue -->

When trying to sign a transaction in a encrypted wallet that is locked, version 0.16 would return the following error:

```"Please enter the wallet passphrase with walletpassphrase first."```

While doing exactly the same procedure against 0.17, the response is something like:

```json
"hex": "020000000183ac9cc1137c444f32356fb070ecba194c87a05e43674c06a55f5b1d0561eabc0000000000ffffffff0180626a94000000001600141875aa6ab19c2551c11759cf3e9f4dd7aa40bcf500000000",
       "complete": false,
       "errors": [
         {
           "txid": "bcea61051d5b5fa5064c67435ea0874c19baec70b06f35324f447c13c19cac83",
           "vout": 0,
           "witness": [
           ],
           "scriptSig": "",
           "sequence": 4294967295,
           "error": "Unable to sign input, invalid stack size (possibly missing key)"
         }
     ]

```

<!--- What behavior did you expect? -->

v0.17 should check if the wallet is locked before trying to sign the tx and return the same error as v0.16 for consistency reasons.
const CTransaction txConst(*psbtx.tx);
    
    bool bip32derivs = request.params[4].isNull() ? false : request.params[4].get_bool();
    FillPSBT(pwallet, psbtx, &txConst, 1, false, bip32derivs);
    
    CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
    ssTx << psbtx;
    UniValue result(UniValue::VOBJ);
    result.pushKV("psbt", EncodeBase64((unsigned char*)ssTx.data(), ssTx.size()));
    result.pushKV("fee", ValueFromAmount(fee));
    result.pushKV("changepos", change_position);
    return result;
}
UniValue abortrescan(const JSONRPCRequest& request); 
UniValue dumpprivkey(const JSONRPCRequest& request); 
UniValue importprivkey(const JSONRPCRequest& request);
UniValue importaddress(const JSONRPCRequest& request);
UniValue importpubkey(const JSONRPCRequest& request);
UniValue dumpwallet(const JSONRPCRequest& request);
UniValue importwallet(const JSONRPCRequest& request);
UniValue importprunedfunds(const JSONRPCRequest& request);
UniValue removeprunedfunds(const JSONRPCRequest& request);
UniValue importmulti(const JSONRPCRequest& request);
static const CRPCCommand commands[] =
{ 
    
    { "generating",         "generate",                         &generate,                      {"nblocks","maxtries"} },
    { "hidden",             "addwitnessaddress",                &addwitnessaddress,             {"address","p2sh"} },
    { "hidden",             "resendwallettransactions",         &resendwallettransactions,      {} },