Update Base's benchmark.js setup.
[WIP] Lower-level fix to improve new BaseCore() times. Store cfg in State by reference, since the we already isolate it higher up in the API.
[WIP] Initial drop for cached ATTRS aggregation across instances, to speed up construction for > 1 instance use case.

* attribute, attribute-core, base, base-core unit tests all pass.
* app, widget, widget-parent/child, dd tests all pass.

Benchmark sample, on Chrome 23

3.8.0

MyBaseCore with 20 varied attributes (using perf. best practices) x 11,805 ops/sec ±1.89% (89 runs sampled)
MyBaseCore with 20 varied attributes x 7,039 ops/sec ±3.74% (73 runs sampled)
MyBaseCore with 10 simple value attributes x 21,069 ops/sec ±1.66% (93 runs sampled)
MyBaseCore x 60,417 ops/sec ±2.23% (90 runs sampled)
BaseCore x 61,683 ops/sec ±0.92% (86 runs sampled)

This commit

MyBaseCore with 20 varied attributes (using perf. best practices) x 20,857 ops/sec ±1.94% (94 runs sampled)
MyBaseCore with 20 varied attributes x 9,384 ops/sec ±4.12% (71 runs sampled)
MyBaseCore with 10 simple value attributes x 36,140 ops/sec ±2.03% (92 runs sampled)
MyBaseCore x 78,936 ops/sec ±3.45% (89 runs sampled)
BaseCore x 81,023 ops/sec ±2.64% (90 runs sampled)

This is an initial baseline pass to validate:

1) The potential benefits of the approach.
2) The feasibility of the approach - by fully passing unit test suites.

The focus was on making sure we have passing feature tests, there by establishing
the minimal performance savings available, without compromising stability.

That is, we should be able to get *at least* this much savings, but likely more,
since we may be over-isolating some of the configs/default values, based on the focus
to have passing tests.

Next Steps For BaseCore:

a) Look into isolation code paths, to make sure we're optimially isolating cfgs and default values, and
   not iterating more than we need to.

b) Look at some lower-level, potentially micro optimizations to speed up the Attribute->State interface,
   maybe leveraging ES5 where available.

Next Steps for Base:

a) Optimize Event firing/publishing for the "No Listeners" path, so new Base() approaches new BaseCore()
Micro Optimizations, plus cleaning up ATTRS cache a little.

Key wins seem to be:

a) Avoiding the delete operator, and just set to undefined/false
b) Using cfg by reference where possible (as opposed to getting/setting in state again)

As a result of a) had to update an attribute test for the _getAttrCfg protected method, since
we leave more internal meta-properties in the attr config hash (instanced of deleting them).

attribute, base, widget, dd and app tests all pass.

NOTE: We can get a bit more of a performance boost, once we clean up app's id handling to avoid
the addAttr overide (we need to update one of of state's internal meta-properties [lazy],
for that, which we could avoid). Without this, there was a failing model-rest-sync test
(discussed with Eric).

This commit (Chrome 23):

MyBaseCore with 20 varied attributes (using perf. best practices) x 24,336 ops/sec ±1.70% (93 runs sampled)
MyBaseCore with 20 varied attributes x 9,748 ops/sec ±5.56% (64 runs sampled)
MyBaseCore with 10 simple value attributes x 51,166 ops/sec ±1.91% (93 runs sampled)
MyBaseCore x 159,111 ops/sec ±1.58% (94 runs sampled)
BaseCore x 164,114 ops/sec ±1.69% (94 runs sampled)

Last commit (ATTRS cache):

MyBaseCore with 20 varied attributes (using perf. best practices) x 20,857 ops/sec ±1.94% (94 runs sampled)
MyBaseCore with 20 varied attributes x 9,384 ops/sec ±4.12% (71 runs sampled)
MyBaseCore with 10 simple value attributes x 36,140 ops/sec ±2.03% (92 runs sampled)
MyBaseCore x 78,936 ops/sec ±3.45% (89 runs sampled)
BaseCore x 81,023 ops/sec ±2.64% (90 runs sampled)

3.8.0:

MyBaseCore with 20 varied attributes (using perf. best practices) x 11,805 ops/sec ±1.89% (89 runs sampled)
MyBaseCore with 20 varied attributes x 7,039 ops/sec ±3.74% (73 runs sampled)
MyBaseCore with 10 simple value attributes x 21,069 ops/sec ±1.66% (93 runs sampled)
MyBaseCore x 60,417 ops/sec ±2.23% (90 runs sampled)
BaseCore x 61,683 ops/sec ±0.92% (86 runs sampled)
[WIP] More sharing attribute config by reference optimizations

Centered around avoiding repeated calls to State.get, across method
boundaries, by passing an already retrieved attribute cfg across
private method calls.

Mainly targets get()/set() operations.

attribute, base, dd, widget, app tests all pass

This commit (Chrome 24):

MyBaseCore with 10 simple value attributes - get x 7,769,862 ops/sec ±1.37% (91 runs sampled)
MyBaseCore with 10 simple value attributes - set x 2,027,186 ops/sec ±2.37% (86 runs sampled)

MyBaseCore with 20 varied attributes (using perf. best practices) x 25,421 ops/sec ±1.33% (94 runs sampled)
MyBaseCore with 20 varied attributes x 9,060 ops/sec ±6.35% (59 runs sampled)
MyBaseCore with 10 simple value attributes x 54,249 ops/sec ±1.23% (94 runs sampled)
MyBaseCore x 163,314 ops/sec ±1.49% (91 runs sampled)
BaseCore x 174,555 ops/sec ±1.08% (94 runs sampled)

Prior commit (Chrome 24):

MyBaseCore with 10 simple value attributes - get x 2,475,836 ops/sec ±0.31% (96 runs sampled)
MyBaseCore with 10 simple value attributes - set x 1,077,515 ops/sec ±0.24% (96 runs sampled)

MyBaseCore with 20 varied attributes (using perf. best practices) x 25,250 ops/sec ±1.24% (95 runs sampled)
MyBaseCore with 20 varied attributes x 9,442 ops/sec ±6.42% (62 runs sampled)
MyBaseCore with 10 simple value attributes x 54,512 ops/sec ±0.43% (93 runs sampled)
MyBaseCore x 149,460 ops/sec ±0.83% (92 runs sampled)
BaseCore x 158,574 ops/sec ±0.93% (93 runs sampled)

3.8.0 (Chrome 24):

MyBaseCore with 10 simple value attributes - get x 2,436,501 ops/sec ±1.34% (87 runs sampled)
MyBaseCore with 10 simple value attributes - set x 589,829 ops/sec ±1.01% (94 runs sampled)

MyBaseCore with 20 varied attributes (using perf. best practices) x 12,753 ops/sec ±1.37% (92 runs sampled)
MyBaseCore with 20 varied attributes x 6,644 ops/sec ±4.20% (70 runs sampled)
MyBaseCore with 10 simple value attributes x 22,942 ops/sec ±0.44% (92 runs sampled)
MyBaseCore x 57,039 ops/sec ±1.37% (91 runs sampled)
BaseCore x 61,830 ops/sec ±1.21% (91 runs sampled)
Merge branch 'attrs-perf' of git://github.com/sdesai/yui3 into sdesai-attrs-perf
Merge branch 'attr-base-perf-bench' into attr-base-perf
Merge branch 'sdesai-attrs-perf' into attr-base-perf

Conflicts:
	src/base/tests/benchmark/base-benchmark.html
Add micro optimizations to Attribute's "hot" path.

Our benchmarks show which paths are the "hottest" in Attribute. This
applies some micro optimizations to those functions.
Update Base's benchmarks to include 3.8.1 seed (commented out).
Initial commit of grunt for release builds
Merge branch 'dev-3.x' into grunt
Removing unneeded Makefiles
Merge branch 'dev-3.x' into grunt
Added --cache-build
Merge branch 'dev-3.x' into grunt
Merge branch 'dev-3.x' into grunt
Updating to grunt 0.4.x
Moved release zips into archives folder
Added initial Gruntfile for Handlebars.js import