CURATOR-33 recursive TreeCache recipe

Glad you brought this up; it's a straight copy, I think the only changes are renaming things like CHILD_ADDED -> NODE_ADDED.  I tried to consistently switch to "node" terminology since nodes in the tree cache can be both parents and children (as opposed to PathChildrenCache).  Also, I wasn't sure how weird it would be to have a TreeCache emitting PathChildrenCacheEvents.

I do kind of like the idea of deprecating the old event interfaces and creating a new one that can consistently surface events for all 3 caches.  Perhaps we could call it "CacheEvent" and it would essentially look like TreeCacheEvent.  I think NodeCache would be especially improved by this, since at the moment all it offers is a "nodeChanged" event.

The caches could simply keep two lists of listeners and publish both new and old style events.

What do you think?