Allow the nodes container attribute to use a different name

Allow TreeModel to be extended with a `nodesAttribute` property, defaults to `nodes`. Updated tests and documentation to reflect the change.