Add 2.11.0-RC4 to crossVersions
Merge pull request #452 from gzm0/add-2.11.0-RC4

Add 2.11.0-RC4 to crossVersions
Add flags to customize source generation
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).
Fix #448: Warn when REPL is used in Scala.js project
Clean up boxing methods.
Fix #395: Sanitize boxing in JS interop.

Until now, the way boxing has been handled in JS interop has
been implementation-driven (least effort), giving un-spec'able
semantics. This commit fixes this by giving the following simple
semantics to Scala data types seen from JavaScript code
(in all circumstances):

+---------------------------------+------------------+
| Scala types                     | JavaScript types |
+---------------------------------+------------------+
| Boolean                         | boolean          |
| Byte, Short, Int, Float, Double | number           |
| String                          | string           |
| Unit (value `()`)               | undefined        |
| Null (value `null`)             | null             |
+---------------------------------+------------------+

(the canonical Scala type for JS number being Double.)

All types inheriting from js.Any are, of course, themselves,
from JavaScript's point of view.

All other types (including Char, Long, and value classes) are
opaque data types that cannot be manipulated from JavaScript,
other than calling toString() and accessing @JSExport'ed members.

From an implementation point of view, these semantics boil down
to a dead simple rule: everything is always boxed in JavaScript.
Merge pull request #453 from gzm0/improve-source-map

Improve source maps
Merge pull request #455 from gzm0/console-warn

#448: Warn when REPL is used in Scala.js project
Merge pull request #450 from sjrd/sanitize-boxing-interop

Fix #395: Sanitize boxing in JS interop.
Fix #446: Make setting out of jsEnv (and sanitize stuff)
Introduce ScalaJSPackfiles and generalize JSClasspath generation
Fix #441: Add Node.js environment
Rename preoptimize to fastOpt and optimize to fullOpt
Fix #458: Correct DCE info for default params in constructor exports
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.
Fix #460: Add missing DCE info for reflective call proxies on Object
Separate and deactivate test for #461
Fix #463: Add java.util.concurrent.Executor
Fix #462: Add java.util.concurrent.ExecutionException