UMD (Universal Module Definition) patterns for JavaScript modules

Uses Node, AMD or browser globals to create a module.