### 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
{
    if (request.fHelp || request.params.size() < 1 || request.params.size() > 2)
        throw std::runtime_error(
            "getrawtransaction \"txid\" ( verbose )\n"
            "\nNOTE: By default this function only works for mempool transactions. If the -txindex option is\n"
            "enabled, it also works for blockchain transactions.\n"
            "DEPRECATED: for now, it also works for transactions with unspent outputs.\n"
            "\nReturn the raw transaction data.\n"
            "\nIf verbose is 'true', returns an Object with information about 'txid'.\n"
            "If verbose is 'false' or omitted, returns a string that is serialized, hex-encoded data for 'txid'.\n"
            "\nArguments:\n"
            "1. \"txid\"      (string, required) The transaction id\n"
            "2. verbose       (bool, optional, default=false) If false, return a string, otherwise return a json object\n"
            "\nResult (if verbose is not set or set to false):\n"
            "\"data\"      (string) The serialized, hex-encoded data for 'txid'\n"
            "\nResult (if verbose is set to true):\n"
            "{\n"
            "  \"hex\" : \"data\",       (string) The serialized, hex-encoded data for 'txid'\n"
            "  \"txid\" : \"id\",        (string) The transaction id (same as provided)\n"
            "  \"hash\" : \"id\",        (string) The transaction hash (differs from txid for witness transactions)\n"
            "  \"size\" : n,             (numeric) The serialized transaction size\n"
            "  \"vsize\" : n,            (numeric) The virtual transaction size (differs from size for witness transactions)\n"