Start to implement freeze/thaw

All value nodes return themselves. For array/object nodes, returned objects are
different.

At this stage, cruel absence of many things:

* a factory to generate mutable nodes;
* a key order policy for object nodes (right now, everything uses a HashMap, no
  order guarantee at all -- is this a problem?)