Implement O(1) OP_IF/NOTIF/ELSE/ENDIF logic
Implement O(1) OP_IF/NOTIF/ELSE/ENDIF logic

This optimization was first suggested by Sergio Demian Lerner in
bitslog.wordpress.com/2017/04/17/new-quadratic-delays-in-bitcoin-scripts.
The implementation follows the suggested approach there, but with a slightly
simpler representation.

Committer's note: EvalScript call adapted to work with BCHU
refactoring of the Script interpreter as a "virtual machine"
encapsulated by a class

BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited,BitcoinUnlimited/BitcoinUnlimited