Split labels out into an extension as recommended by @ericf.

Eric pointed out in IRC that labels are a pretty UI-centric metaphor and
probably don't belong in the base Tree and Tree.Node classes, and I agree.

This commit removes the label implementation from those base classes
and moves it into a Y.Tree.Labelable/Y.Tree.Node.Labelable extension.