Refactor sourcemap generation to combine generator and sourceUrl.

This helps ensure the generator has the same sourceURL as the //# source.
Update SourceMap.js test.
map -> forEach