Store original data structure reference in the mutator chain

instead of the Immutable wrapper. This makes the
construction of a new Immutable from a mutator chain
more explicit about what it is: copy the data
structure and apply the chain of mutators to it.
The previous delegating to copy constructor approach
was less direct.