yet unfinished transaction builder
sigError -> verifystr

In anticipation of using the same function names in txbuilder, verifystr is a
slightly more general and explanatory name. Every "verify" function in various
classes could have a corresponding "verifystr" function that upon error returns
a string representing that the error was. This same convention will be used in
txbuilder.
move getFlags to interp

getFlags is actually a somewhat useful function in general, and it will also be
used by the txbuilder tests once the txbuilder is completed.
add tx verification to txbuilder

The transaction builder is both used to build a transaction, and also to verify
that a built transaction is valid. This ultimately will enable sharing
transactions with others off-blockchain and verifying that they are valid. Of
course it could also ultimately be used to validate transactions in the
blockchain.

The tests that had been checking if a transaction are valid in the script
interpreter tests have been moved to the txbuilder tests. This is where the
tests belong. The script interpreter tests only run script_valid and
script_invalid. The tx_valid and tx_invalid tests should also run the
CheckTransaction tests. Those are now actually being executed as the checktx
function now exists and the txbuilder contains that verificaion logic plus the
script interpreter verification.
change name: txidbuf -> txhashbuf

The hash in an input is actually just a plain old hash. The id would be the
reverse of the hash. Since the thing in an input is *not* reversed, it is just
the hash, not the id. This merely changes the name to accurately reflect what
the thing is - it is a hash of a transaction. Not an id.