Avoid processing columns if there aren't any to allow empty tables.
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
fixes #2532134 Added sort test to cover Date, Number and String data types with case sensitive sort available by setting a caseSensitive param to true on the table column.
ref #2532134 Changed Y.Lang.isString() to typeof() === 'string' to improve performance, and added comment to component history.
ref #2532134 Updated documentation with new caseSensitive attribute details. Updated default order of test data.
ref #2532134 Updated documentation added a short paragraph to the 'Column sorting' section
Fixes #2532940
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Expose _serialize as stringify, for consistency with Y.QueryString
modify api so Y.IO.stringify('#my-form') works
improve argument names and docs
fix typo
make options optional
avoid Y.Lang
Fixes #2532810

The third argument to set (or _set) is not just for events.
Its purpose is to establish the reason for setting the attribute.
In Widgets, this usually means the source of the change by
indicating {src: 'UI'} (or its pre-defined constant).
Though it is usually used to avoid reflecting into the UI
what came from the UI, and is something done through events,
it is still useful even if you don't have a UI or events.

I have added those opts to both the setter and the validator
so they can decide on accepting or rejecting the value
based on the origin of the data.

Provided an extra test to try the setter with the extra argument
This change should be fully backward compatible.

Inadvertently stripped trailing spaces on the changed sources.
Changed the landing page to describe the opts argument.
Corresponds to issue #2532810 pushed in a separate commit.
Make opts an empty object when undefined.
When opts is passed as a string, turn it into an object with a single property 'src' with the original opts
as its value set to that string.
Added a test for that.
Merge branch 'master' of git://github.com/yui/yui3
clarify code
add unit tests to event-gestures