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!
But please do add the comments as suggested, so that the cases are documented and if later on we have a way to return details execution status, we can return it.