Mutable variables

It is now possible to replace the data in a polyglot.Variable object if it has
the same shape. This makes it a little more straightforward to allow for
mutating data with my new "Cube" objects.