Fix an NPE in JasmineTestReporter if getFileName == null.
Fix the global 'clean' command in the build.
Fix major inefficiency of the incremental optimizer.

It was basically invaliding all methods calling *any*
constructor in the world *every* time (even if nothing changed).
It now instead invalidate constructor callers only when the
inlineable status of the class changes (which includes having
a different set of fields if it is inlineable).
Cross-version Scala.js version of tools with _sjs suffix.
Merge pull request #989 from sjrd/fix-npe-in-jasmine-reporter

Fix an NPE in JasmineTestReporter if getFileName == null.
Merge pull request #990 from sjrd/fix-clean-in-build

Fix the global 'clean' command in the build.
Merge pull request #991 from sjrd/fix-inefficiency-of-inc-optimizer

Fix major inefficiency of the incremental optimizer.
Merge pull request #992 from sjrd/tools-js-cross-version

Cross-version Scala.js version of tools with _sjs suffix.
Fix #987: splitting an empty string should return Array("")
Merge pull request #988 from sjrd/fix-split-empty-string

Fix #987: splitting an empty string should return Array("")
Propagate sub-class addition through the class tree
Merge pull request #996 from gzm0/tree-add-classes

Propagate sub-class addition through the class tree