Utility mixin class to be able to walk() only parts of item trees.
Used with PREFIX+POSTFIX walk: in the prefix call of the Item processor, we process the item X, may decide that its children should not be processed (just like if they didn't exist): processor calls stop_at(X) for that. Then walk() goes to a child Y; the processor tests is_stopped(Y) which returns true, so processor sees that it must not do any processing and returns immediately. Finally, the postfix call to the processor on X tests is_stopped(X) which returns "true" and understands that the not-to-be-processed children have been skipped so calls restart(). Thus, any sibling of X, any part of the Item tree not under X, can then be processed.