Add a passlet that converts long trains of stores to memcpy instructions, both significiantly reducing binary size and reducing DSE time in final compile which is otherwise n^2 in the chain length.
Lots of fixes required to get the large-data small-program examples running properly:

* Peel attempts now collect committed blocks, and pass them down or delete them as appropriate when the PA is accepted or ignored.
* Added functions to retrieve signed representations of the new integer values, and used them to fix the open-compare path.
* Fix spotting when a block ends in a special read test, meaning the test instruction should be PHI forwarded.
* Permit reads to cause DSE even when they're being tested, due to their overwriting aspect happening regardless of test result.
* Fix some constant-ints-are-Values assumptions in GetValPB
* Fix some cases failing to note that an IVSM with no Base now means undef rather than a bug.
* Don't try to free child calls are BBs has been zeroed.
* Reverse the order of basic block chain merging, in order to turn an O(n_insts^2) algorithm into O(n_insts)
* Move committed block inheritance into commitInstructions' epilogue, so in-loop functions are handled appropriately and unreachable blocks created *after* CommitCFG are correctly handled.
* Fix leaking memory from BBs that were committed but are no longer required.
* Unregister reads and seeks that turn out to be in loop context.