Doc comment fixes for dojo/core.

1) remove unneeded doc hints about parameters of module factory functions

2) don't access dojo or declare() in doc comments if those symbols aren't defined as parameters to the factory function (i.e. if dojo/_base/kernel and dojo/_base/declare aren't listed as dependencies to the function, or if dojo/_base/kernel is loaded as kernel rather than dojo)

3) made most parameter definitions (ex: __IOArgs) local variables, except for the ones defined in dojo/_base/xhr.js and dojo/number.js since they are used outside of those files

4) used native javascript to declare "classes" like __IOArgs for modules where dojo/_base/declare [and dojo/lang] aren't loaded as dependencies.

Refs #14980 !strict
Add custom accessors to dojo/Stateful, fixes #15187 !strict
Make dom-attributes-specified-flag test more robust, so it only is true for IE.   Note that the flag means "you need to check if attr.specified is true", not that "attr has a specified flag but it's always set to true".

Refs #14672, #15032 !strict.
Since the new doc parser is based on modules rather than globals, there's no good way to document a dojoConfig global variable.

Most of the information about dojoConfig attributes was already listed in config.rst (in our reference documentation), so I just copied the rest of the attribute information there (see https://github.com/dojo/docs/commit/ed817fb09272267088d32de23ba98ab79705b72e) and removed the dojoConfig documentation from config.js.

Refs #14980 !strict
API doc cleanup for dojo/declare.

In order to document methods like inherited() that are available on classes created via dojo/declare, specify the return type of dojo/declare as a class with those methods.   The previous doc comments documented inherited() etc. as methods on Object, which seems both inaccurate (since not all Objects have an inherited() method), and unsuitable for an AMD world, since Object is not an AMD module.

Also inlined the comments for safeMixin() etc.

Refs #14980 !strict
Yet more API doc cleanup,  refs #14980 !strict.
Fixes to API doc for dojo/store, especially around how the store implementations conceptually extend dojo/store/api/Store (or in java terminology, implement the dojo/store/api/Store interface), and around the kwargs parameters for store methods.

Seems like the doc comments for Cache methods are redundant with api/Store doc comments, and thus can be removed, but I left them in for now.

Refs #14980 !strict.
Fixes to API doc for dojo/dnd.  Refs #14980 !strict.
Associate API documentation with module exported functions, rather than deprecated dojo.***() functions.  Refs #14980 !strict.
Revert unintended removal of hasOwnProperty, refs #15187
Fix API doc for dijit kwargs parameters.   There's a lot of inheritance going on, which requires many modules to logically export their kwarg definitions.  Refs #14980 !strict.
Prefer setObject() to getObject()  since it avoids needing a doc parser hint, and since it isolates the code to set global variables (which we will remove for 2.0).

I wish we didn't have code setting global variables at all, especially since dojo.require() automatically creates a global for the module, but I suppose some user code might be using AMD syntax to require modules yet still expecting globals to be created.

Refs #14980 !strict.
Add serialization test case for dojo/Stateful, refs #15187
When chaining promises, immediately signal deferred for non-promise or fulfilled-promise results.

Refs #15297, #14615 !strict
refs #13906 remove unused files