Add sourceMap option.

In response to issue #12.

The `sourceMap` option, when enabled writes a source map of the concatenated file. I started from @kozy4324's https://github.com/kozy4324/grunt-concat-sourcemap. It has further options to store the file content in the map, inline the map in the concatenated file, and an option stored in the source map for the root directory of the source files.
@Krinkle, that is a rather good point. I think https://github.com/gruntjs/grunt/blob/master/lib/grunt/task.js#L69 is the related line. It uses underscore's extend to perform the merge, so deep objects won't be merged.

I lean towards flat, but I don't feel strongly about it. I'm cool with deep objects for the options, but this point makes it trickier than a little change to this branch.

@jmeas @vladikoff thoughts?