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
Key generation from secret: handle failure of point multiplication

Not all secrets produce a valid public key. If the BIGNUM derived
from the secret is not less than p for the secp256k1 curve then
point multiplication will fail, and no public key can be derived
from the secret.
Merge pull request #15 from runeksvendsen/master

Key generation from secret: handle failure of point multiplication