Fix #1110: Correct toMatch(re: RegExp) in Jasmine typing
Merge pull request #1117 from gzm0/fix-jasmine-typings

Fix #1110: Correct toMatch(re: RegExp) in Jasmine typing
Fix #1107: Warn if raw JS method has return type Nothing
Remove one non-standard overload of js.Array.splice().
Add a setter for js.Array.length.
Merge pull request #1116 from gzm0/warn-nothing

Fix #1107: Warn if raw JS method has return type Nothing
Fix #1114: Verify contents of interop annotations
Cleanup annotation classes
Merge pull request #1118 from gzm0/error-check-annots

Error check annots
Make js.ArrayOps and js.WrappedArray be their own Builders.

This is ok because the result() method of Builder clearly says
that the builder's state is completely undefined after its
invocation.

For reference, scm.ArrayBuffer is also its own Builder.
Fix #1115: Enrich js.WrappedArray with Buffer and BufferLike.

This basically turns it into a full-blown Scala collection,
whose implementation happens to use a js.Array.

We also mark it @inline, because it gives the BufferLike
interface to js.Array, which js.ArrayOps cannot provide due to
the type parameters of BufferLike being too restrictive.
Specialize genTraversableOnce2jsArray for js.ArrayOps and js.WrappedArray.

In a sense, this is as if .toJSArray were overridden in js.ArrayOps
and js.WrappedArray, which makes total sense. But since .toJSArray
is a pimp, we need to make this specialization directly in its
implementation.
Merge pull request #1119 from sjrd/js-array-buffer

Fix #1115: Enrich js.WrappedArray with Buffer and BufferLike.
Fix #1121: Desugar of a Match does not transformExpr its selector.
Fix #994: IR check exports.

It turns out they were heavily IR-incorrect, hence the major
changes in GenJSExports.
Merge pull request #1122 from sjrd/ir-check-exports

IR check exports
Remove the field originalName from StringLiteral.

It is completely useless. Originally, when I first introduced
source maps, Scala.js method names were still encoded in crazy
strings with bracket-selects. At the time it seemed logical to
support original names for StringLiteral because of this, even
though there was no evidence whatsoever that original names were
supposed to mean something for string literals in source maps.
Now, since there isn't any more evidence of this, and all Scala.js
names are encoded as identifiers, there is no point in keeping
this field.
Fix #1123: IR checker should allow Apply/Select on {Null,Nothing}Type.
Fix #1124: compile warnings in HelloWorld and Reversi.
Make js.WrappedArray extend AbstractBuffer.