better dynamic schema handling

* pass old node to `Node#instantiate` as second arg
* handle `dirty` return from `Node#instantiate`
* drop validation result when schema node changes to new instance of same class