After callback, passing mapping object

I added the ability to call a function and pass it mapping. This will flexible ways to manage output file and to fully own output format.

```coffeescript
rev:
  options:
    after: (dirs, mapping, options) ->
      output = {}
      for oldPath, newPath of mapping
        output[path.basename oldPath] = newPath.replace dirs.webapp, ""
      grunt.file.write path.join(dirs.resources, "assetsMap.json"), JSON.stringify(output)
```