We need to set them after we've created the full tree, as otherwise the HashMap containing the nodes may reallocate and invalidate the pointers.
This makes it easier to work with device tree nodes and properties, then writing simple state machines to parse the device tree. This also makes the old slow traversal methods use the DeviceTreeProperty helper class, and adds a simple test.