CURATOR-33 recursive TreeCache recipe

Yeah, exactly the same.  It fires events as it builds the tree, followed by an initialized event when the first pass is complete.  The test code should be fairly illuminating, but it needs to be in javadoc too since the tests don't ship.

The only difference is TreeCache doesn't have the startup mode options, I just wanted to simplify things and make it work the way that made the most sense.  So you can either just stream events from TreeCache and build your own representation without worry about the details, responding to add/remove/update events; or else you can wait for the initialized event and then pull the tree data.