Fixed issue where we were trying to re-add attributes, already added by a subclass.

This ate into our gains a little bit (compared to prior attrs-perf commits), but still
substantially better than 3.8.1. Numbers below.

Also validated that the issues highlighted by Tripps charts test case are
accounted for. See https://github.com/yui/yui3/pull/453#issuecomment-14310679

All tests pass:

attrs-perf/src $ yogi test
[Total]: Passed: 10717 Failed: 0 Total: 10802 (ignored 85) (8 minutes, 19 seconds)

NOTE: Had to make a low-level perf optization call based on FF being an major
outlier in the following test: http://jsperf.com/in-vs-hasownproperty/6. Hence
included FF numbers below also. We can revisit if required - flip-flopped between
the 2 many times, and chose hop, because it saved some of the gains we lost for
the major chunk (webkit) of target browsers. Worth pinging FF about?

Chrome 25:

This Commit

BaseCore x 160,543 ops/sec ±0.68% (94 runs sampled)
MyBaseCore x 149,699 ops/sec ±1.15% (91 runs sampled)
MyBaseCore with 10 simple value attributes x 45,741 ops/sec ±1.43% (93 runs sampled)
MyBaseCore with 20 varied attributes x 7,791 ops/sec ±5.81% (61 runs sampled)
MyBaseCore with 20 varied attributes (using perf. best practices) x 18,961 ops/sec ±1.17% (90 runs sampled)
MyBaseCore with 10 simple value attributes - set x 2,439,898 ops/sec ±0.35% (94 runs sampled)
MyBaseCore with 10 simple value attributes - get x 10,296,544 ops/sec ±0.61% (92 runs sampled)

Prior Commit

BaseCore x 167,934 ops/sec ±1.17% (95 runs sampled)
MyBaseCore x 164,318 ops/sec ±1.40% (93 runs sampled)
MyBaseCore with 10 simple value attributes x 52,033 ops/sec ±1.19% (95 runs sampled)
MyBaseCore with 20 varied attributes x 8,312 ops/sec ±6.99% (55 runs sampled)
MyBaseCore with 20 varied attributes (using perf. best practices) x 23,259 ops/sec ±1.35% (92 runs sampled)
MyBaseCore with 10 simple value attributes - set x 2,780,588 ops/sec ±3.29% (91 runs sampled)
MyBaseCore with 10 simple value attributes - get x 10,517,876 ops/sec ±0.40% (92 runs sampled)

3.8.1

BaseCore x 59,459 ops/sec ±1.42% (94 runs sampled)
MyBaseCore x 54,524 ops/sec ±1.70% (93 runs sampled)
MyBaseCore with 10 simple value attributes x 21,651 ops/sec ±1.22% (91 runs sampled)
MyBaseCore with 20 varied attributes x 6,255 ops/sec ±5.47% (62 runs sampled)
MyBaseCore with 20 varied attributes (using perf. best practices) x 12,244 ops/sec ±1.45% (92 runs sampled)
MyBaseCore with 10 simple value attributes - set x 533,183 ops/sec ±0.51% (95 runs sampled)
MyBaseCore with 10 simple value attributes - get x 2,373,572 ops/sec ±0.38% (88 runs sampled)

Firefox 19:

This Commit

BaseCore x 59,213 ops/sec ±0.95% (86 runs sampled)
MyBaseCore x 54,453 ops/sec ±0.86% (87 runs sampled)
MyBaseCore with 10 simple value attributes x 29,714 ops/sec ±2.64% (89 runs sampled)
MyBaseCore with 20 varied attributes x 11,533 ops/sec ±0.93% (89 runs sampled)
MyBaseCore with 20 varied attributes (using perf. best practices) x 16,562 ops/sec ±0.93% (88 runs sampled)
MyBaseCore with 10 simple value attributes - set x 923,897 ops/sec ±0.75% (96 runs sampled)
MyBaseCore with 10 simple value attributes - get x 5,773,198 ops/sec ±0.92% (92 runs sampled)

3.8.1

BaseCore x 24,210 ops/sec ±1.79% (79 runs sampled)
MyBaseCore x 24,322 ops/sec ±2.74% (79 runs sampled)
MyBaseCore with 10 simple value attributes x 14,059 ops/sec ±1.49% (92 runs sampled)
MyBaseCore with 20 varied attributes x 6,645 ops/sec ±0.92% (90 runs sampled)
MyBaseCore with 20 varied attributes (using perf. best practices) x 8,001 ops/sec ±0.57% (91 runs sampled)
MyBaseCore with 10 simple value attributes - set x 334,317 ops/sec ±5.55% (93 runs sampled)
MyBaseCore with 10 simple value attributes - get x 2,045,595 ops/sec ±0.79% (95 runs sampled)