Add Y.ArraySort.naturalCompare().

For performing natural-order comparisons of two strings, two numbers, or a
number and a string.
Fix comment typo.
Fix lint errors in ArraySort tests.
Fix missing types in naturalCompare() API docs.
'foo10' would be sorted before 'foo2', not 'foo1'.
Merge branch 'dev-master' into dev-3.x
Merge branch 'dev-3.x' into natural-sort
Build arraysort.
Add missing unit tests.
ScrollInfo: Use getBoundingClientRect() instead of DOM.getXY() for node coordinates. Fixes #767

Also improves performance significantly.
Build node-scroll-info.
Tree: Make node destruction a little less destructive.

Instead of setting various node properties to `null` when destroying a node,
set them to empty values. This makes it a little easier to figure out what
went wrong when you accidentally try to use a node after destroying it.
Tree: Better handling of destroyed nodes in createNode(), insertNode(), and traverseNode()

These methods will now throw (or log) informative error messages instead of
failing cryptically (or succeeding when they shouldn't) if you try to use them
with destroyed nodes.
Update Tree history.
Tree: Add tests to cover the case where an errorFn handles destroyed node errors.
Changed deprecation notices to have red text for Issue #677
End of file newline
Build tree.
Merge branch 'dev-master' into dev-3.x
Merge branch 'dev-master' into dev-3.x