Make CScriptNum() take nMaxNumSize as an argument

While the existing numeric opcodes are all limited to 4-byte bignum
arguments, new opcodes will need different limits.
Move LOCKTIME_THRESHOLD to src/script/script.h

Will now be needed by CHECKLOCKTIMEVERIFY code.
Replace NOP2 with CHECKLOCKTIMEVERIFY

<nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime>

Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be
locked until some block height or block time in the future is reached.

Only the logic and unittests are implemented; this commit does not have
any actual soft-fork logic in it.

Credit goes to Gregory Maxwell for the suggestion of comparing the
argument against the transaction nLockTime rather than the current
time/blockheight directly.

Credit goes to Pieter Wuille for suggesting integration with
CheckSignature().
Activate CHECKLOCKTIMEVERIFY as hard fork with AuxPow
Merge branch 'checklocktimeverify-hardfork' PR #23

Git Pull: #23