differentiator: node: move TaggedChildList<void>::...() helpers to the header (for uniformity).
differentiator: node: add const-variants of TaggedChildList<T>::children().
differentiator: node: add *Tag::operator==().
differentiator: node: add static TaggedChildList<T>::compare_child().
differentiator: node: implement naive (O(n^3)) recursive subtree comparison.