Watch/keepalive support for grunt task

Enables watch support in the grunt task.

Adds two new options to the task:

1. `watch` - Sets up webpack's watcher. Will continue to recompile the relevant bundle(s) until the `grunt` process exits.

2. `keepalive` - Can be used when you have no other tasks to run but want to keep the `grunt` process running. Can be passed in as a flag: `$ grunt webpack:dev:keepalive`. This is not needed if, for example, you are running your own `connect` proxy and you want to run both `webpack` and `connect` in the same `grunt` process.