This makes OP_CHECKSIG resemble the logic in OP_CHECKDATASIG a bit
closer. Also, we can move the nullfail check into the if statements
so why not (I think this makes it clearer).
Note that due to intermingling of pubkey encoding checks and signature
checks, it is unfortunately not so easy to do a similar thing for
OP_CHECKMULTISIG.