Add hardLink option

This adds a `hardLink` option, so you can create links instead of copies of files.

I am using a grunt task for building a source tree, for development as well as production, and the lag when using `grunt watch` catches me sometimes when I edit and test/reload before the files are rebuilt.  With hard links, at least for those files where it is applicable, there will be no lag.

This is more of a start-the-discussion pull request, as I'm sure there are issues with the implementation.  Specifically I'm guessing that using the `fs` module directly might be verboten, and/or that this functionality might more appropriately exist in `grunt.file.copy` directly (especially since it interacts with `processContent`).

Also I didn't understand the the tests – I see the assertions but not where the "work" is actually done that creates the output that is asserted against?