Protect against duplicate detach
Big change. s/Y.Event/Y/ (see details)

Y.Event was an EventTarget that housed the default event for DOM events, but
still supported custom events (for some reason). Y and Node/NodeList shared
Y.Event's default and base events, but it became really awkward sharing between
all three, espcially when dealing with the duality of
maybe-node-is-loaded-maybe-not.

So now Y.Event is just a plain object, and DOM events are hosted on Y through
its own default and base events, which Node and NodeList share. The
Node.DOM_EVENTS collection was moved from Node to Y.Event.DOM_EVENTS, and
rather than a boolean map, now stores a tailored CustomEvent for handling DOM
events as the value for each key (the same event is shared by all).

The default event for Y/Node/NodeList checks the Y.Event.DOM_EVENTS whitelist,
falls back to a smart event search, then falls back to default custom event
logic for subscribe, unsubscribe, and fire.

Y.Event.publish() adds to the DOM_EVENTS collection (or modifies an existing
event), so can be used to extend the whitelist.
Move default logic from Y.Event to DOMEvent

The default logic that was added to Y.Event's default event was moved to
DOMEvent, the CustomEvent that handles the events in the DOM_EVENT whitelist.
As a result, it could be trimmed down considerably.

Much cleaner implementation, though I'm starting to get concerned about the
number of function hops before substantive code executes.
Remove DOM_EVENTS, update _getters

DOM_EVENTS was moved to Y.Event.DOM_EVENTS in eventx-dom.

_getters needed to honor DOM elements assigned to the data collection for node
keys (e.set('currentTarget', el); e.get('currentTarget') => Node).
Fix augment and _getter.container

Needed to augment without whitelist because whitelisted augment would only
trigger the whitelisted method being added to the Node instance after calling
the constructor. The problem was that calling the other methods from
EventTarget that were previously augmented on would then call the constructor
again, which would purge any subs or locally published events. Not terribly
likely to happen, since Nodes don't get custom events published on them much,
if at all, and subs would only be for custom events, since DOM events are
stored on Y.

All the same, the _getter.container needed to respect values set on the event's
data collection, followed by a get('container'), similar to the recent change
to event-node for its Node value _getters.
Update/add simple test files