Initial commit of Y.Tree and friends.

Imported from the SmugMug Tree gallery module, which has a more
extensive commit history:

https://github.com/smugmug/yui-gallery/tree/master/src/sm-tree
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.
Rename events: loading->beforeLoad, loaded->load
Consolidate Tree.Node extension modules into Tree extension modules.
Rename openable methods: toggle->toggleOpen, toggleNode->toggleOpenNode
Rename _fire() to _fireTreeEvent().
Move AOP bindings to the initializer and add tests to cover them.
Use more unique AOP method names to avoid collisions.
Update API doc module tags.
Add next() and previous() methods.
Remove clone() todo.
Give credit to Y.Promise contributors
Merge branch 'tree' of git://github.com/rgrove/yui3 into rgrove-tree
Give credit to Y.Tree contributor.
Build Y.Tree and its extensions.
Build Loader and Seed for Y.Tree modules
Merge branch 'normalize' into dev-3.x

Conflicts:
	build/loader-base/loader-base-coverage.js
	build/loader-yui3/loader-yui3-coverage.js
	build/loader-yui3/loader-yui3-debug.js
	build/loader-yui3/loader-yui3-min.js
	build/loader-yui3/loader-yui3.js
	build/loader/loader-debug.js
	build/loader/loader-min.js
	build/loader/loader.js
	build/yui-nodejs/yui-nodejs-debug.js
	build/yui-nodejs/yui-nodejs-min.js
	build/yui-nodejs/yui-nodejs.js
	build/yui/yui-debug.js
	build/yui/yui-min.js
	build/yui/yui.js
	src/loader/js/yui3.js