Split grunt task files.

Suggestion for managing grunt tasks moving forward.
This example task is for situations where you'd want to invoke some level of logic into a task that might not be covered by the current plugins. For example, you wanted a deployment task to concat/uglify only when moving to staging/production, but not during development.

You could the current task like `grunt deploy`, or use this broader function format to run `grunt deploy`, `grunt deploy:stage`, or `grunt deploy:prod`. If you wanted it to run tests for all formats unless you specify not to, you could use a flag like `grunt deploy:dev --no-tests`. It's a big open ended box for grunt.