Adding new Map visitor

Adds a new visitor which creates a map of the non AT files which have been minified nd hashed.
Sample of map:
{"toto.js": "toto-48fe15e40d5443a4048317394b8bd0ea.js", "js/jquery.js": "js/jquery-54654165165165gfsdg6fsd51g.js"} 

Here is an ATPacager configuration sample using this new visitor:
```
grunt.config.set('atpackager.prod', {
        options : {
            sourceDirectories : ['js'],
            sourceFiles : ['rt/**/*', 'grunt/**/*'],
            outputDirectory : 'output',
            visitors : [{
                type : 'JSMinify',
                cfg : {
                    files : ['**/*.js']
                }
            }, {
                type : 'Hash',
                cfg : {
                    files : ['**/*.js']
                }
            }, {
                type : 'Map',
                cfg : {
                    mapFile : 'map.json',
                    sourceFiles : ['**/*.js'],
                    outputDirectory : 'target'
                }
            }, {
                type : 'CopyUnpackaged',
                cfg : {
                    files : ['**/*.js'],
                    builder : {
                        type : 'Concat'
                    }
                }
            }]
        }
    });
```