Removed unused variables and arguments from charts module.
Removed remaining unused variables and arguments from charts module.
Capitalize class references in charts per jslint.
Cleared up tab/space issue in charts module.
Changed non-user string comparisons in chartsup to use strict equality.
All comparisons in charts now use strict equality.
Update nodelist-array.js

Update doc for NodeList.pop()
Update nodelist-array.js

Update doc for NodeList.shift
Added a 'lookup' formatter to the datatable-formatters module.

Includes tests
Merge branch 'trac2533119' into trac2533128

Merge graphics lint cleanup into topic branch.
Merge branch 'trac2533120' into trac2533128

Merge charts lint cleanup into topic branch.
Revert "Update test to work properly on IE"

This reverts commit c0af401a19249f020cc9271d53bffd3ea1d4c429.
Merge branch 'dev-3.x' into grunt
Add a `src` option to all methods that trigger events.

This value is passed along to the event facade of the resulting event, and
can be used to distinguish between changes caused by different sources
(such as user-initiated changes vs. programmatic changes).
[WIP] First pass at no-listener optimizations

1) Reduce publish cost, by having more stuff on CE proto.

2) Reduce publish cost, by having _subscribers/_afters arrays be lazy.

3) Reduce new ET cost/new CE cost by mimimizing props to iterate through
   (avoid "undefined" props, masking falsey default values).

4) Reduce new ET cost, by having targets map be lazy.

5) Reduce new ET cost by avoiding stamp() on _yuievt. Didn't seem like id was
   being used.

6) Provide fast track for fires with no potential subscribers, but
   with a defaultFn (needs testing)

All library tests run through `yogi test` pass.

[Total]: Passed: 10726 Failed: 0 Total: 10811 (ignored 85) (8 minutes, 24 seconds)

NOTE: Will check in updated tests, due to removed/modified internal properties and
lazy _subscribers/_afters arrays, in separate commit.

Next up for evaluation
----------------------

A) See if we can have defaults in ET, be inherited (flip Y.CE.prototype if you will),
   instead of mixed in. Tests show that new Y.CE is better than Object.get(), which
   was considered. So staying with FnConstructors for now. http://jsperf.com/create-new

B) The type/Y.cached handling is worth optimizing, as mentioned before, by passing
   through the calculated type.

C) See if we can have a private getSubs(), hasSubs() which can return faster, and avoid
   creating arrays, unless there are subscribers. The above 2 methods are public, so
   can't mess with those.

D) See if we can get by with holding onto the opts for publish, without creating a new
   Y.CustomEvent, on publish (maybe optionally, based on lazyPublish config?).

Numbers
-------

This commit (ops/sec):

new Base() x 18,894
Publish x 1,714,575
Publish - 10 different events x 152,180
Fire - 10 different events, no listeners x 36,957
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 158,325
Subscribe + Fire - 10 different events x 381
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 23,252
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 58,334
Fire With Payload - 10 listeners x 130,708
Fire - 10 listeners x 163,150
Fire With Payload - 2 listeners x 181,028
Fire - 2 listeners x 195,069

3.8.1 (ops/sec):

new Base() x 15,606
Publish x 1,662,980
Publish - 10 different events x 124,112
Fire - 10 different events, no listeners x 20,458
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 97,666
Subscribe + Fire - 10 different events x 365
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 22,867
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 51,528
Fire With Payload - 10 listeners x 135,688
Fire - 10 listeners x 167,362
Fire With Payload - 2 listeners x 151,447
Fire - 2 listeners x 206,144
Test updates to go with WIP commit 8a46d6999042

a) Mainly to handle fact that private _subscribers/_afters are created lazily,
   so we use the public API where possible to assert.

b) Also, to handle the fact that we removed default properties which shadowed
   default CE properties (bubbles, etc). That is a default override for ET was
   no longer required.

c) Also to handle properties which are now lazily instantiated (targets)

NOTE: All of this is private API. That is, we didn't have to changes any
public API tests.
Reduce transform mapping test to the actual goal of the test which is to verify transform mapping.
[WIP] Optimized *:type handling (sibling) handling.

Made * support close to zero cost for folks who are not using it (80% case).

We now set a flag, and don't bother looking for siblings, if no-one has subscribed
using * (makes subscription a little heavier, but fire is the critical path).

Also moved around some of the facade creation code and stack handling for no-event-lister impl
(hasPotentialSubscribers). This still needs to be refined/validated for the stack use case.

Testing
-------

✔ [Total]: Passed: 10726 Failed: 0 Total: 10811 (ignored 85) (8 minutes, 17 seconds)

Numbers (Chrome 25)
-------------------

This commit:

new Base() x 19,495
Subscribe + Fire - 10 different events x 353
Fire - 10 different events, no listeners x 42,842
Publish - 10 different events x 146,300
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 21,896
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 56,486
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 147,900
Fire With Payload - 10 listeners x 150,865
Fire - 10 listeners x 184,732
Fire With Payload - 2 listeners x 195,953
Fire - 2 listeners x 224,911
Publish x 1,848,491

Prior commit:

new Base() x 18,956
Subscribe + Fire - 10 different events x 351
Fire - 10 different events, no listeners x 36,823
Publish - 10 different events x 148,715
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 23,381
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 55,777
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 149,094
Fire With Payload - 10 listeners x 147,155
Fire - 10 listeners x 178,635
Fire With Payload - 2 listeners x 162,870
Fire - 2 listeners x 202,660
Publish x 1,701,478

3.8.1

new Base() x 14,689
Subscribe + Fire - 10 different events x 375
Fire - 10 different events, no listeners x 22,934
Publish - 10 different events x 123,922
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 10 listeners x 20,431
EventTarget Construction + Publish(foo) + Subscribe(foo) + Fire(foo) - 2 listeners x 46,436
EventTarget Construction + Publish(foo) + Fire(foo) - no listeners x 98,833
Fire With Payload - 10 listeners x 134,755
Fire - 10 listeners x 170,762
Fire With Payload - 2 listeners x 159,093
Fire - 2 listeners x 207,473
Publish x 1,567,016
Avoid setting event cfgs which are same as defaults, or don't matter.

a) queuable:false - this is the default value, no need to specify it.
b) silent:true - this only impacts debug builds.

This commit is based on the event-perf-nolisteners work. This just means there's less
to iterate through when mixing configs. Not a massive/noticeable perf
improvment, but cleans things up regardless. May help with older/slower browsers.

Testing
-------

All pass.

[Total]: Passed: 10717 Failed: 0 Total: 10802 (ignored 85) (8 minutes, 18 seconds)

Numbers (Chrome 25)
------------------

This Commit:

Base x 15,821 ops/sec ±2.43% (87 runs sampled)
MyBase x 15,401 ops/sec ±2.11% (93 runs sampled)
MyBase with 10 simple value attributes x 10,244 ops/sec ±1.47% (91 runs sampled)
MyBase with 20 varied attributes x 4,937 ops/sec ±2.79% (77 runs sampled)
MyModel with 2 ad-hoc attrs x 13,827 ops/sec ±1.35% (94 runs sampled)

Prior Commit:

Base x 15,173 ops/sec ±2.47% (89 runs sampled)
MyBase x 15,100 ops/sec ±2.74% (91 runs sampled)
MyBase with 10 simple value attributes x 10,235 ops/sec ±2.11% (90 runs sampled)
MyBase with 20 varied attributes x 4,936 ops/sec ±2.50% (81 runs sampled)
MyModel with 2 ad-hoc attrs x 13,588 ops/sec ±2.06% (89 runs sampled)
fix normalize url