.attr should allow function that returns multiple attributes

.attr should allow function that returns multiple attributes

.attr should allow the following type of use:

$(selector).attr(function() {
  return {
    attr1: value1,
    attr2: value2,
    ...
});

Currently a function can only be used with the two-argument form, to compute a single attribute.