Define errors and exception classes used by scala.util.Try.

This adds class definitions used by Try() for checking whether an
exception is non-fatal.
Add support for java.lang.String search methods.

 - contains() and startsWith() are implemented using indexOf.
 - endsWith() is implemented using lastIndexOf.
Add minimal java.lang.Thread and java.lang.Runnable.

This the following compilation issue with Java JDK 1.7.0_45 on Mac OS:

  [info] Compiling 31 Scala sources to /Users/ben_hutchison/swork/js/scala-js/javalib/target/scala-2.10/classes...
  [error] error: error while loading Runnable, class file '/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/lib/rt.jar(java/lang/Runnable.class)' has location not matching its contents: contains class java.lang.
  [error] one error found

Thread was used by the ThreadLocal implementation and the missing Thread
and Runnable class seems to make the compiler load it from the JRE.
Implement String.{startsWith,endsWith} with helpers.

So that arguments are not evaluated twice.
Merge branch 'patch-1'