Initial drop for performance optimizations.

a) Changed subscribers/afters maps to arrays.
b) Used _wlmix as used in Base, for config mixes/merges.
c) Avoid try/catch for arguments-to-array conversion.
d) Avoid new EventTarget when stoppedFn is not used.

a) and b) are probably the biggies.

Shows 3x improvement in Chrome for basic publish, on/after listener, fire sequence in
src/event-custom/tests/benchmark/event-custom-benchmark.js

BEFORE:
EventTarget with attribute style publish, fire, with on/after listeners x 7,623 ops/sec

AFTER:
EventTarget with attribute style publish, fire, with on/after listeners x 23,642 ops/sec
Build for initial event perf improvements
Merge remote-tracking branch 'upstream/master' into event-perf
API doc cleanup
Optimized mixing done on the facade, during a fire with payload.

Before we used to:

1) Mix own properties from a clean facade, into an empty object o2.
2) Mix own properties from the data payload into current event facade.
3) Mix own properties from o2, back into the current event facade.

The idea seems to be that we want the data payload to overwrite everything,
aside from the own properties present in a clean facade.

This required 3 iterations, each with hasOwnProperty checks.

Change the impl to use:

    mixFacadeProps = function(facade, payload) {
        var p;

        for (p in payload) {
            if (payload.hasOwnProperty(p) && !FACADE.hasOwnProperty(p)) {
                facade[p] = payload[p];
            }
        }
    }

Where FACADE is the "clean" facade instance we were mining keys from, in
the original impl. I believe this maintains the same behavior as the original,
unless there's something I'm missing with only one iteration, and one less hasOwn
Property check. Ideally I'd also want see if we can get rid of the
payload.hasOwnProperty(p), but wanted one commit which maintains behavior.

All custom event tests, as well as App, Widget, WidgetParentChild and DD tests
pass.

Performance results on Chrome 19/MacOS below, for the use case where we're
firing with a payload:

3.6.0pr2:
Fire With Payload - 10 listeners x 27,918 ops/sec ±1.32% (54 runs sampled)

BEFORE (with optimizations prior to this commit):
Fire With Payload - 10 listeners x 41,752 ops/sec ±1.22% (56 runs sampled)

AFTER (with this commit):
Fire With Payload - 10 listeners x 63,362 ops/sec ±0.37% (58 runs sampled)
Build for event-facade mixing optimization
Memory cleanup : Fixed unused references to the last facade, left behind at the end of a fire. Event unit tests (and app, dd, widget etc.) pass on Chrome/FF/Safari
Build for memory cleanup : Fixed unused references to the last facade, left behind at the end of a fire
Merge branch 'master' into event-perf
Merge branch 'master' into event-perf
Cleaned up event test files, before I start to modify them
Minor tweaks to tests, and added tests to cli/run.js
Cleaned up test files, before I add deprecated support. All test currently pass (the commented out ones were always commented out)
fixes #2532552 - 'Examples That Use This Component' links on the dist doc index page will 404
Merge branch 'master' into examplesSelleckIndexPage
Added flag to restore deprecated subscribers/afters properties.

The Y.CustomEvent.MAINTAIN_DEPRECATED_SUBS is false by default and
enabling it, will introduce a performance hit, but will maintain
back compat for the deprecated properties for folks accessing them
directly.

Not quite certain if we'll go the flag route vs. breaking out a
custom-event-base-deprecated module, which will override methods,
but committing it for review.

Went the flag route since it's a small amount of code, and means
we won't have to copy/paste the larger methods which the code
to restore needs to be added to (and hence maintain them until
the properties can be removed).
Build for deprecated property support. All current event tests pass, including DD, App, Attribute, Base, Widget. Need to add tests for the deprecated support
Fixed manual Node MenuNav Example Tests
Ported Scrollview example tests over
Merge branch 'master' into 3.x