When a tree node is frozen it should not be possible to remove nodes
from it or cause that tree node to disassociate itself from its parent,
so make sure that the appropriate decorator is used to ensure this
can not happen (and add tests that verify an exception is raised when
mutations are attempted).
Change-Id: I27e4af7b891ea3fd1826d5a5e71e808ad5af7647