Updating source version to 1.7.6-pre
refs #17719, add package.json for util package (called it dojo-util to have a unique name on npm

(cherry picked from commit fedc64c8adefc19ea10b33bfc3be7400f0fb4579)
refs #17719, backport package.json for util to 1.7, change version info
Refactor robot so initRobot() is implemented as an asynchronous test fixture, rather than using monkey patching code that doesn't work well, having two places calling doh._run() in a race condition.   This design also makes better code separation between vanilla DOH and robot.

I plan to do the same for startRobot() in the next check in.

Also fixes priority of ready() call inside DOH.   The default priority is 1000, so we need to be higher than that, so that DOH doesn't execute until the iframe's dojo.ready() call has finished executing.

Fixes #16386 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/util/trunk@30060 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 1319e6fb7c4514f61625c78fa58032e62a86a479)

Conflicts:
	doh/robot.js

(cherry picked from commit 12c84a3c734300b4adada7424823dca0f96ef022)

Conflicts:
	doh/Robot.html
	doh/robot.js
Refactor robot so startRobot() is implemented as an asynchronous test fixture, rather than monkey patching doh.run().  This design makes better code separation between vanilla DOH and robot.

Refs #16386 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/util/trunk@30074 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit f36cea6a49cbeaa7f6c4274339d1d2fb3470d4e1)

Conflicts:
	doh/robot.js

(cherry picked from commit 07c123ff45abe26eec525afd2f91cf278dcb75cc)

Conflicts:
	doh/robot.js
Support returning a dojo/promise/Promise or dojo/Deferred from a test fixture.   Before, you could only return a doh.Deferred or a dojo/_base/Deferred.    Besides the function name changes, I had to stop DOH from trying to modify the returned value by calling errback().

Update doh.Deferred to support the basic dojo/promise/Promise API methods: then(), always(), otherwise(), resolve(),  reject(). isFulfilled(), isResolved(), isRejected().   It still supports the old method names too, but they should be removed for 2.0.

Update dojo/_base/Deferred to have working isFulfilled(), isResolved(), isRejected() methods; previously (new dojoBaseDeferred()).promise.isFulfilled() was defined but threw an exception, which is sort-of false advertising.   Originally I needed this in the DOH code, but ended up not using it, so this change is optional.

Also updated a few modules to return a Promise rather than a Deferred.    A dojo/_base/Deferred.promise seems to be backwards compatible with the dojo/_base/Deferred, having addCallback() etc. methods.   Except of course that it doesn't have callback() and errback(), but users shouldn't be calling those anyway.   Again, originally I needed this in the DOH code, but ended up not using it, so this change is optional.

This check possibly fixes some tests that were already assuming a test fixture could return a dojo/Deferred.

For 2.0 maybe we should restrict the value returned from a test fixture to a Promise, rather than a Deferred.   Right now DOH looks for a promise attribute (available in dojo/Deferred and dojo/_base/Deferred, but not doh.Deferred), and uses it if available.

Fixes #16388 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/util/trunk@30054 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit e6b89edae51f981719dbb420c0194318e2d0989e)
(cherry picked from commit 573c6c9a52a737e0fa27d7419500afa23345752d)

Conflicts:
	doh/runner.js
IE sporadically fires the timer even though we cleared it; seems to be related to the killRobot() at the end.    Refs #16388 !strict.    (There was similar code there originally which I removed as part of this ticket, but turns out it needs to be there.)

git-svn-id: http://svn.dojotoolkit.org/src/util/trunk@30089 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 9f297ed3629e808820a292b33e9b20184ade7f64)
(cherry picked from commit 1869299616666069d075e2c165116d0dca0c09e0)
avoid spurious timeouts starting robot, refs #16386 !strict.

git-svn-id: http://svn.dojotoolkit.org/src/util/trunk@31072 560b804f-0ae3-0310-86f3-f6aa0a117693
(cherry picked from commit 15e6c812122d35cbf49db93a5e79a81f8758d206)
(cherry picked from commit b2ea6d9a81424d16405f0d7466a926906f8f3d64)
Workaround robot errors in FF23+. Still need to figure out how to deal with zoom level. Refs #17442.

(cherry picked from commit 23abc082d571cecce77d3957c405fd5399622b81)
(cherry picked from commit b5c1bd5dfccfc0ed6d7b5b75b8be0cb35faefc38)
(cherry picked from commit 7d601b8d38e2fd40e6afe07f81b9a83b92a645a3)

Conflicts:
	doh/robot/DOHRobot.jar
Signed robot applet with a "Dojo Foundation" public key to make Java 7u40 happy. Fix accidental nondeterminism when testing on slower machines. Refs #17442.

(cherry picked from commit 9e1dc62201b7cd06f1c052bae663882003cd3957)
(cherry picked from commit e6490e5ad503b97e79992bbad72f9b3953430b65)
(cherry picked from commit 99969c749fbabda02563f775dc7ca9a11e7a2cab)
Make adjustments for 1.8 promise code.