Added ability to pass last-modified file as option to spawned proc

Added option to use `fileAsArg: true` to pass file as argument to spawned tasks. This hopefully removes the most common usecase for `nospawn: true` and thus lets people avoid a lot of the bugs that can be encountered when using it. References #148 and #150. 

Tasks that need it can then access it with `grunt.option('file')` as oposed to `this.data.file` set by the watchers. This also helps keep the Gruntfile cleaner.

If you like this sort of implementation, I can probably write tests. However if the maintainers don't like the feature then I wont bother. Let me know if you think you might merge it in.