Add ScriptInterpreter for script evaluation

This PR adds the ScriptInterpreter class, which allows to execute bitcoin Scripts.
It adds tests using data from bitcoind, to be sure it's working correctly.

Big thanks to @ryanxcharles, many parts of this code were ported from his version at https://github.com/ryanxcharles/fullnode