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.
Build for AttributeObservable setter opts and subscriber additional args fix.

Testing
-------

All library tests pass through yogi test --no-cli:
✔ [Total]: Passed: 10988 Failed: 0 Total: 11078 (ignored 90)

Also tested node-menunav examples manually on Chrome with mouse and keyboard

(NOTE: Had to fix some timeout values for get's load.html to pass in phantomjs which are
a known unrelated issue)
Added assertion for context in new subscriber args test, while we're there
Merged latest upstream/dev-master, fixed attribute HISTORY.md conflict