Refactor sourcemap generation to combine generator and sourceUrl.

This helps ensure the generator has the same sourceURL as the //# source.
Update SourceMap.js test.
Yes! That is what I am attempting here.  The `sourceRoot` argument to `SourceMapGenerator` is now in the same object as our value of `sourceRoot` used elsewhere. 

Ideally `SourceMapGenerator` would have a way of reading its `sourceRoot_` value, but it doesn't. I guess we could have a `TraceurSourceMapGenerator` extending `SourceMapGenerator` with the structure of the object here.