Make global inititalization optomizable by closure compiler

The old way of setting the global broke with closure under advanced optimizations.  This method will work without closure still, but with closure if the user adds a `var pluralize;` to their code, closure can optimize the pluralize code/names in a whole-program fashion.
Hmm, I'm not comfortable committing with the current syntax. I'd be cool with something like:

```js
function pluralize () {}

if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {
  module.exports = pluralize;
} else if (typeof define === 'function' && define.amd) {
  define(pluralize);
}
```