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
(cherry picked from commit e7415e71decf3d921161e8883270e16b433aa150)
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)
(cherry picked from commit 29f63996f8b69a7bb6d2e27f4d350c320998c0b2)
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
(cherry picked from commit b30ed8fb7611ef8d1e0868183d36f8f16886d141)
Optimized facade mixing a little more.

Ideally it seems like we could drop hasOwnProperty here, since
we have a whitelist, but if(o in p) without the hasOwnProperty is
just as slow in Chrome 21 as the current implementation, if not slower
(which kind of makes sense to me - I would expect if(o.hasOwnProperty(p))
to be faster than if(p in o) in theory - would be surprised if that optimization
shows up in other engines.

So, anyway, going with this approach which is the only one which improves on the
current implementation across all targeted browsers.

http://jsperf.com/hop-in/12

NOTE: I saw the same results in native Chrome profiling also.
(cherry picked from commit 627216ec336d9e01a26cfb30f6d0a22bbea8ef3e)
AUI-801 Port YUI 3.7.0pr1 - Event Performance changes
Build for:
- initial event perf improvements
- event-facade mixing optimization
- memory cleanup : Fixed unused references to the last facade, left behind at the end of a fire
- event facade further optimizations