Make SignatureHash() return 1 correctly; bug-for-bug

If nOut >= vout.size() in the satoshi codebase SignatureHash() prints an
error to the debug log, and returns 1. Notably an actual error isn't
raised, and OP_CHECK(MULTI)SIG simply checks the signature against the
uint256 with the value one.

An example transaction where this occurs is
315ac7d4c26d69668129cc352851d9389b4a6868f1509c6c8b66bead11e2619f in
mainnet.
Merge pull request #14 from petertodd/signaturehash-returns-one-fix

Make SignatureHash() return 1 correctly; bug-for-bug