+once(), onceAfter(), fixes, +defaultFn string support

* defaultFn, preventedFn, and stoppedFn now support being configured as
  strings that are late bound to methods on the target instance.
* subscribers array is copied before notification to avoid detach() or
  additional subscriptions mutating the array during iteration.
* fix detach(type, callback, unsubscribed_phase)
* add target.once() and onceAfter(), which I don't want to do (use e.detach()),
  but have to for back compat. There's a cost in the notification for all subs.
* add alias `Y.Subscriber = Y.CustomEvent.Subscription` for back compat. I
  wonder why I haven't added `Y.EventHandle = Y.CustomEvent.Subscription` yet...
* doc updates and added comments here and there.