consensus lib work: add status codes to the script interpreter and remove logging

Cleaned up version of #5188

Attempt to codify the possible error statuses associated with script
validation. The second commit (move-only) moves the other flags into the newly
created script/types.h as part of the upcoming external interface.

Logging has also been removed in order to drop the dependency on util.h. It can
be re-added to bitcoind as-needed. This makes script verification finally free
of application state and boost!
@laanwj I didn't want to hook it up in each place, since it could be potentially much noisier than the old logging. To be close to on-par with current behavior, we could check for something like SCRIPT_ERR_SIG_DER || SCRIPT_ERR_SIG_HASHTYPE || SCRIPT_ERR_SIG_HIGH_S. Those are pretty arbitrary though.