Backport (#473) Abstract file output for packager and optimizers
Backport (#473) Add flags to customize source generation
(cherry picked from commit 1fc9a4cbc6da4e6dd4b877968eab844e2e4979d4)
Backport (#473) Fix #438: Make scala library source maps point to github sources

Note that currently, source maps are not included in the packaged
sources by default and therfore this change will not have any impact
on the average user. I propse we add a SBT setting to alter this
together with #449 (which will make it really useful).
(cherry picked from commit 5196071e373e567564fc24e053e686f2b05f828c)
Backport (#473) Fix #448: Warn when REPL is used in Scala.js project
(cherry picked from commit 7bd7758f8def841a39c4c53b7b95dbdcd122ef37)
Backport (#473) Fix #458: Correct DCE info for default params in constructor exports
(cherry picked from commit 02bdc07a43008dbf4b7c61ba95f3266779efe037)

Conflicts:

	compiler/src/main/scala/scala/scalajs/compiler/GenJSExports.scala
Backport (#473) Fix #459: Add class name to pseudo-member <exported>

If a subclass exports different members than its superclass, the DCE
info of the exports of the superclass were lost since the subclasses
<exported> member was (in DCE's terms) overriding the superclasses
<exported> member. And since (in some cases) the superclass was never
instantiated as such, the superclasses <exported> member was not
reachable. It's dependencies got therefore eliminated.
(cherry picked from commit 9c6fd9e839111a23f5e19d447486a6e8f32f2747)
Backport (#473) Fix #460: Add missing DCE info for reflective call proxies on Object
(cherry picked from commit 9a990e6dd8844a926998698163aa418ee165f6df)
Backport (#473) Fix #463: Add java.util.concurrent.Executor
(cherry picked from commit d6bb5e52c53864b354a40bffe3f4bc4c6290a8ab)
Backport (#473) Fix #462: Add java.util.concurrent.ExecutionException
(cherry picked from commit efeb4386f75a42ccacd71127704a7478d35622fc)
Backport (#473) Fix #449: Emit source maps for preoptimizeJS.
(cherry picked from commit 9ce8beaa674f21a06a4312c2409c512edf93c490)
Backport (#473) Original version of scala.Enumeration to track changes

Prepares for fix of #465. Comes from commit
2fe767806b44aea3f6f53735301b11fd2ffae08b of scala/scala.
(cherry picked from commit 60b946d3e0ad2720c193d0437f9681a0a67becdc)
Backport (#473) Fix #465: Adapt scala.Enumeration to not use reflection
(cherry picked from commit 5b5e9f2e00c346305930cfd6fcc06a74eec6a3e4)
Merge pull request #474 from gzm0/backports

Backports (fixes #473)
Fix #475: Add setting to enable/disable emission of source maps
Merge pull request #477 from gzm0/source-map-flag

Fix #475: Add setting to enable/disable emission of source maps