use store/load to handle mutable values

works for a much larger set of problems than before.

Tests with global variables have been commented out to avoid unhelpful emails from Travis.
more missing test inputs

too many generated files!
link a bunch of code blocks.

doing it too well...
do not add duplicate basic block terminators

Horrible hack, but it works for now. For while, just guess and check until it works.
apparently the result from store messes with phi instructions

so lets just return the value we stored instead :)
don't add a branch to the last block

off-by-one errors are awesome...
if statement tests without globals
add a few more test files that have been accumulated