Allow AMD module loader to set noGlobal in config to prevent moment poll...

...uting the global space.

Option has to be set by the user otherwise everything loads as previously.

Loader would now look like this to choose noGlobal

/*jslint maxerr: 50, indent: 4, browser: true */

(function (global, undef) {
    "use strict";

    var projectString = "myProject",
        momentCDN = "//cdnjs.cloudflare.com/ajax/libs/moment.js/2.1.0/moment.min",
        momentString = "moment";

    (function (name, definition) {
        if (global.module !== undef && global.module.exports) {
            global.module.exports = definition(global.require(momentCDN));
        } else if (typeof global.define === "function" && global.define.amd) {
            var projectPaths = {};

            projectPaths[momentString] = momentCDN;
            global.require.config({
                paths: projectPaths
            });

            global.define(name, [momentString], definition);
        } else {
            global[name] = definition(global.moment);
        }
    }(projectString, function (moment) {
        delete global[momentString];

        moment.fn.newFunction = function () {
            // code
        };

        function MyFunction() {
            // code
        }

        return {
            "MyFunction": MyFunction,
            "momentPrivate": moment
        };
    }));
}(this));

requirejs(["myProject"], function (myProject) {
    "use strict";

    console.log("Private", myProject.momentPrivate);
    console.log("Global", window["moment"]);
});