script: work towards creating sane error return codes for script validation

This is far from complete, but it's enough to get started. The eventual goal is
to remove application logging from this code, and let bitcoind log based on
the return code instead. For now, only the errors with existing error messages
have been enumerated, the rest are defined as UNKNOWN_ERROR.
script: remove logging from the script interpreter

Handle logging based on the ScriptError that's returned.