More removing type from CustomEvent constructor

Missed its use in _publish. Not getting far with this bug!
Missing semicolon;
Add protection from infinite get->getter loop

The EventFacade property getters were calling e.get(), and e.get() fell back to
looking for a property on e. Infinite loop.

I'm not happy about the fix, but it's better than nothing.
Fixes, tests passing. Details below:

* +preventDups support
* +SynthSubscription for Y.Event.SyntheticEvent
* Fixed delegate support to actually work
* No longer storing the Node on the subscription. Storing yuid, then retrieving
  from Y.Node._instances
* Extends DOMEvent
Remove redundant DOMSubscriber.proto.detach

Since the break out of BatchSubscription, it was overriding the same
implementation.
Absorb delegate into EventTarget + more refactoring

* delegate() added to EventTarget.prototype and support in FacadeEvent
* subscribe(type, phaseOrDetails,...) added to ET.prototype
* on(), after(), once(), onceAfter(), subscribe(), and delegate() now all call
  _subscribe(args, details), which runs all the common code, relays to the
  appropriate event if possible, and handles batch subscriptions.
* event.subscribe(target, args, phase) -> (target, args, details)
* parseSignature(target, args, details) now, expecting extra data to be added
  directly to details rather than return an object
* Subscription(target, type, args, details) now, nixing phase argument
* Y.BatchSubscription extends Y.Subscription for instanceof compliance (ew)
* delegate(noDupsEvent, duplicateFn, filter) is now prevented
* target.on()/after()/etc() and target.delegate() now both go through
  event.subscribe() rather than have event.delegate() handing target.delegate()