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 Yes, I'd prefer to address the logging in a later pull, as I assumed that would lead to some bikeshedding. Though I agree that it wouldn't make sense to push this without using it anywhere, so I've updated the tests to check the values.