Add reference outputs for more tests
Reorder constant arithmetic pass

Now it is before the array indexing code generation, which allows for
better code to be generated in some cases.
Add another test case for dead code elimination
Don't check for redundant Phi in dead code test
Add more test cases for dead code elimination
Add more reference outputs
Refactor: get rid of ir.base package

All of the classes in ir.base were moved up to ir.
Add new test to exercise updating phi instructions
Add another dead code test

This one targets initializing arrays in nested loops and removal of
unused phi nodes.