Pretty print array contents modifications

This makes it much easier to follow what is going on. The only downside
is that we don't have a way to "name" things that are not assigned to a
variable. So an array that is allocated as part of a method parameter
method1(new int[23]) has no name and can be hard to reference.

See #80