Roundabout way of fixing #1467
Instead of using windowId == null to indicate callback execution for every command, use an additional parameter. Refs #1424
A first attempt at merging this branch with the current Greasemonkey HEAD. Trying to resolve the countless conflicts was purely hellish. I haven't even had the time to test it. Conflicts: components/greasemonkey.js content/addons.js content/addons4-overlay.js content/config.js content/options.js content/script.js content/scriptdownloader.js content/utils.js defaults/preferences/greasemonkey.js locale/en-US/greasemonkey.dtd modules/addons4.js
Instead, display warnings to the console that the run was skipped. Fixes #1402
Some frames on the call stack come from the newly defined module(s) (hitch), so we have to allow those.