Migration from dojo/_base/array to ES5 functions (and some unrelated cosmetic fixes)
fixes based on Bill's comments
fix accidental global
rename autoFocus to focusOnOpen; autofocus has native HTML meaning
Stateful: skip properties in HTML*Element.
getPropDescriptors() should check name of constructor, not prototype
Button: don't extend FormWidgetMixin and don't override native prop "type"
fix calling custom setters of watched props on FF
Fix Destroyable::own to return an actual array so that .forEach(...) can be used on the return value.
add jshintrc (but code is not reformated)
add a refresh properties step to the lifecycle, fix according to jshint, add more tests
fix various jshint issues
Fixes #16812. Added documentation for the CSS class dj_ios6 to clarify its purpose.
Tweak for IE (mixed case attributes (e.g. isRange) and prevent style="width:90%" from throwing an exception during conversion to object), and fix several jshint style errors.
fix error deleting selected RadioMenuItem, fixes #17519
(cherry picked from commit 57966f299a6c0b58933bad5566525cb268eccbaf)
Remove tag and declaredClass from proto.
The widget class should be obvious from this.nodeName.
Omit properties like "style" from this._propCaseMap.

Rearchitected Stateful to have a _getProps() method that returns all the properties
that should be watchable, or in other words, all the "official" properties.

_WidgetBase._getProps() has the code to only look at properties defined in the widget
definitions, thus ignoring properties in HTML*Element base classes.
Get Button working again after _Invalidating changes.
add note about use of eval
comment out tabIndex so Slider works on FF