### Describe the issue

### Can you reliably reproduce the issue?
#### If so, please list the steps to reproduce below:
1. Follow the steps in https://gist.github.com/gavinandresen/3966071

### Expected behaviour
The first `signrawtransaction` command should be successful and return a partially signed transaction that can be sent to the other cosigners for signing.

### Actual behaviour
Instead `signrawtransaction` fails and does not return a partially signed transaction.

### What version of bitcoin-core are you using?
This was reported for 0.14.0. However we have determined that it affects 0.11.1 and later, and likely 0.11.0. It does not affect 0.10.3.

It appears that the bug is caused by [this `VerifyScript` call](https://github.com/bitcoin/bitcoin/blob/master/src/rpc/rawtransaction.cpp#L849) which was introduced in 8ac2a4e1788426329b842eea7121b8eac7875c76 which has been a part of all versions since 0.11.0rc1.

See also: https://bitcointalk.org/index.php?topic=1823847.msg18164848#msg18164848
"{\n"
            "  \"hex\" : \"value\",           (string) The hex-encoded raw transaction with signature(s)\n"
            "  \"complete\" : true|false,   (boolean) If the transaction has a complete set of signatures\n"
            "  \"errors\" : [                 (json array of objects) Script verification errors (if there are any)\n"
            "    {\n"
            "      \"txid\" : \"hash\",           (string) The hash of the referenced, previous transaction\n"
            "      \"vout\" : n,                (numeric) The index of the output to spent and used as input\n"
            "      \"scriptSig\" : \"hex\",       (string) The hex-encoded signature script\n"
            "      \"sequence\" : n,            (numeric) Script sequence number\n"
            "      \"error\" : \"text\"           (string) Verification or signing error related to the input\n"
            "    }\n"
            "    ,...\n"
            "  ]\n"
            "}\n"
            "\nExamples:\n"
            + HelpExampleCli("signrawtransaction", "\"myhex\"")
            + HelpExampleRpc("signrawtransaction", "\"myhex\"")
        );
    ObserveSafeMode();
#ifdef ENABLE_WALLET
    LOCK2(cs_main, pwallet ? &pwallet->cs_wallet : nullptr);
#else
    LOCK(cs_main);
#endif
    RPCTypeCheck(request.params, {UniValue::VSTR, UniValue::VARR, UniValue::VARR, UniValue::VSTR}, true);
    CMutableTransaction mtx;
    if (!DecodeHexTx(mtx, request.params[0].get_str(), true))
        throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX decode failed");
    
    CCoinsView viewDummy;