Don't perform substitution of args initially

This will be delayed until we have fully generated the SSA
Add @Override to Instruction.getSubstitute
Make getSubstitute of variable reference an error
Don't construct def-use information initially

This will be done after CSE