Switches back to official grunt-closure-tools package
Merge branch 'master' into v1.0
Bumps version number to 1.0.0-pre
Removes immediately invoked closure from define.js

That Closure Compiler build step adds an additional immediately-invoked
function; so the one in define.js was not really necessary.  This change
allows extensions to reference local variables defined in define.js,
like `define` and `require`, for a smaller minified package.

This means that consumers cannot use the src version of define.js if
they want to avoid polluting the global namespace.  The dist build or
a custom build must be used instead.
Lifecycle callbacks are now asynchronous