Restore form attributes after successful upload in io-upload-iframe

Fixes #2533186
Update build files with latest gallery tag.
Add io in src.
IO build.
Update version in package.json.
Adding history updates
Update io HISTORY.
Upgrade Handlebars.js to v1.0.12
Update gallery tag.
Merge branch 'dev-master' into dev-3.x
Merge tag 'v3.10.3' into live-docs
Merge branch 'dev-master' into dev-3.x
Merge branch 'live-docs' into dev-master
Bump version to 3.11.0pre.
Merge branch 'dev-master' into dev-3.x
Merge branch 'dev-master' of github.com:yui/yui3 into dev-master
Merge remote-tracking branch 'upstream/dev-3.x' into dev-3.x
Merge branch 'dev-master' into dev-3.x
Fixed a regression where listeners subscribing to attribute change events
with additional args, would see their args shifted, when the attribute
was `set` with additional options.

e.g.

   foo.after("myAttrChange", function myListener(e, myCustomArg) {
      ...
   }, context, myCustomArgValue);

   foo.set("someAttribute", 20, myCustomOpts);

myListener would see [e, myCustomOpts, myCustomArg] instead of
[e, myCustomArg] in it's arguments list.

See: https://github.com/yui/yui3/issues/846

Testing
-------
Added new tests for the scenario.

*All* library tests pass:
✔ [Total]: Passed: 10988 Failed: 0 Total: 11078 (ignored 90)

Also manually tested the node-menunav examples. These passed functional
tests, even with the older broken code.
add new `color-base` dependency

`dom-style` requires `color-base` as of d2245af