CURATOR-33 recursive TreeCache recipe

s/sorted order/sorted by the child names/

I'm trying to think of how to use this method, and it seems a bit dicey: I can't get the children and then reliably do much with it since they could get removed, added, updated, etc. behind me. In my initializing path cache I have a notion of the `currentEventData` which is the state of the cache up to the last processed event. By running this method on the single watcher thread, I can guarantee consistency between the cache and my listeners. We could do something similar here and/or expose a copy subtree operation which gives you a snapshot of that tree segment consistent with the event processing.