After callback should only run once per task

I found that the `after` callback is run several times for each task, which is not what is expected and documented. It is run after every entry in `this.files` and it becomes apparent after #14 got merged.

This PR moves the invocation of the `after` callback to outside the loop of files and updates the Gruntfile.js and tests to try and make sure it is only run once.

PS. If #16 gets merged I can update this PR for an easier merge.