Explicitly unittest the canonical prunable txout format

Test every invalid op code, and add an explicit test for Gavin's proposed format for provably unspendable/always prunable transactions using the 0xFF invalid opcode. Specifically any scriptPubKey of the following form:

    0xFF {zero or more ops}

Because the scriptSig and scriptPubKey are processed separately one can't even use IF/ENDIF trickery to defeat this. I also like how it says "INVALID" quite clearly as the first opcode. I've tried this out on testnet with no issues.

Unless anyone has a reason why this standard is a bad idea I'm also going to raise the issue with P2Pool; currently they are the main producer of non-prunable txouts that could be made prunable this way.

No code to actually do anything with this standard is included in this patch; that can be done later.