Rename script.h/.cpp to scriptutils.h/.cpp (plus remove deuplicated includes)
Build libbitcoinscript.a, start refactoring script files.

The goal here is to move towards a C-callable libbitcoinscript.so
that any reimplementation can use for its script exectuion instead
of reimplementing it from scratch, which has been shown to be
incredibly error-prone.

This library will implement basic script parsing and execution, but
it is not the goal to expose things like transaction signing or
script analysis.

The end-goal is to move the things which will be built as a part of
this library to the script/ subfolder, with the exposed API in
script/bitcoinscript.h. Things which are used only by Bitcoin Core
will be in scriptutils.{h,cpp}.
Get a working libbitcoinscript.so build.

This moves a bunch of functions around and, with minimal changes
generates a linkable (though not useful) libbitcoinscript.so.
Make bitcoinscript.h expose useful things
Make bitcoinscript.h C, not C++
Don't hash what you're not going to sign
Refactor SignSignature and higher level Solver
Inline SignN only use
Strictly hash what is going to be signed (without hurting multisig)