Tooling & UMD wrapping

* Adds a .jshintrc
* Adds an .editorconfig to keep the style consistent
* Adds a UMD wrapper that allows it to be used with AMD, CommonJS, and browser globals, while keeping the core source free of compatibility decorators
* Adds a gulpfile to manage the building of the UMD browser distribution, and to minify the dist build

Confirmed that all tests pass.