Port all the missing `java.lang.*Exception` and `java.lang.*Error`.

I also added a few missing methods on `Throwable`. `Throwable`,
`Error` and `Exception` are still missing the `enableSuppression:
Boolean, writableStackTrace: Boolean` constructors.

Note that this implementation does not perfectly conforms to the Java
one as I always uses a single constructor of the of the superclass. It
is possible to call multiple ones with Trait/Object definitions (see
this [question][1]) but we lose the instantiation with the new
keyword. From what I've seen it should still be behavior equivalent in
these Exceptions but we might need to use some lower level magic in
some cases.

[1]: http://stackoverflow.com/questions/3299776/in-scala-how-can-i-subclass-a-java-class-with-multiple-constructors
Port java.util.*Error/Exception.
Change the signature of Throwables to match Java.

ClassNotFoundException test is commented, see issue #66. I tested that
the signatures match Java ones using Scala reflection. I've not added
it to the scala.js test suite because it has to run on the JVM.