Add sourceMap option.

- sourceMap enabled, will write a source map of the concatenated file.
- sourceMapName option controls the name of the exported source map.
  - sourceMapName can be a string or a function
- sourceMapStyle option can be `link`, `embed`, or `inline`
  - as `link`, source map will refer to concatenated files
  - as `embed`, source map will embed file contents
  - as `inline`, source map will be a data url in the concatenated file

If stripBanners or process is enabled, sourceMapStyle == embed or
inline is required. This way the source presented using the map will
be accurate.
fixup! Add sourceMap option.
fixup! Add sourceMap option.
fixup! Add sourceMap option.
fixup! Add sourceMap option.
fixup! Add sourceMap option.
fixup! Add sourceMap option.
fixup! Add sourceMap option.
Revert "fixup! Add sourceMap option."

This reverts commit b0f75b3f19a19a25ffdfac19e4bf53108ddce548.
Revert "fixup! Add sourceMap option."

This reverts commit 817fb6125f21b8ce5ca474399a9f682627b4ee88.
fixup! Add sourceMap option.
WIP
Merge branch 'refs/heads/sourcemap-wip' into sourcemap

Conflicts:
	Gruntfile.js
	docs/concat-options.md
	tasks/concat.js
	test/concat_test.js