restored dependency of pack.done on quick.bin
run test.bc as part of tests on 2.10.x

also added test.bc-opt target as binary compatibility differs between (non)optimized builds...
remove unused ant targets: test.ant, test.classload, test.positions
Formatting. Introduce {asm,forkjoin,fjbg}-classes props.
Remove duplication in java builds of fjbg/asm/forkjoin
Preparation for faster PR validation

Added starr.number, so that `ant -propertyfile starr.number -Dlocker.skip=1`
works across branches.

Introduced target `test.core`, which skips `test.stability`, since that requires
`locker == quick`, whereas `locker == starr` with the above settings.
(It's interesting to see for which files it fails when that assumption is broken.)

Stability will still be tested on a nightly basis. It's rarely broken.
Let continuations library sources determine docs.lib's actuality
Scaladoc: Load scripts at the bottom, and with a defer attribute

To improve latency on modern browsers (which supports defer) and old browsers:

 * https://www.webkit.org/blog/1395/running-scripts-in-webkit/
 * http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_5/
Run test.scaladoc before test.suite. Fail fast.
ant clean only zaps the quick stage
Clean up pack targets. Better dependency tracking.

Target pack.@{project} is considered up to date iff
classes emitted by quick.@{project} are.

TODO: encapsulate "classes emitted by quick.@{project}".
For now, they are duplicated as references
to `${build-@{stage}.dir}/classes/@{destproject}`
(in staged-scalac and *.build.path)
Merge pull request #2314 from adriaanm/build-fixes

further tweaks to the ant build
Use java-diff-utils for diffing in partest.

We now use the unified diff format, hence the updated check files.

It's not clear to me how partest's classpath is managed,
but the approach in this commit works for the ant task and script invocation.
The diffutils jar is injected in the parent classloader.
Strip version suffix from diffutils.
Merge pull request #2330 from adriaanm/partest-difftools

Use java-diff-utils for diffing in partest.
Merge pull request #2321 from kzys/js-defer

Scaladoc: Load scripts at the bottom, and with a defer attribute
Merge remote tracking branch 'origin/2.10.x' into topic/merge-2.10.x-to-v2.11.0-M2-74-g00e6c8b

Conflicts:
    bincompat-backward.whitelist.conf
    bincompat-forward.whitelist.conf
    build.xml
    src/compiler/scala/reflect/reify/utils/Extractors.scala
    src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
    src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
    src/compiler/scala/tools/nsc/transform/patmat/MatchOptimization.scala
    src/compiler/scala/tools/nsc/typechecker/Typers.scala
    src/partest/scala/tools/partest/nest/ReflectiveRunner.scala
    src/reflect/scala/reflect/internal/Types.scala
    src/reflect/scala/reflect/runtime/JavaUniverse.scala
    test/files/run/inline-ex-handlers.check
    test/files/run/t6223.check
    test/files/run/t6223.scala
    test/scaladoc/scalacheck/IndexTest.scala
Merge pull request #2343 from retronym/topic/merge-2.10.x-to-v2.11.0-M2-74-g00e6c8b

Merge 2.10.x to master
Value class to represent jvm flags.

That clenching you feel in your gut when you watch the
Ints hurtling in all directions is your signal that a little
type safety is good for the soul. With this value class it
is now somewhat harder to confuse java bits with scala bits,
although not nearly hard enough.
Abstract over java.lang.reflect.{ Method, Constructor }.

No doubt there's some plausible explanation for this design:

  % java/lang/reflect/Method.java
  public Annotation[][] getParameterAnnotations()
  public Class<?>[] getExceptionTypes()
  public Class<?>[] getParameterTypes()
  public Type[] getGenericExceptionTypes()
  public Type[] getGenericParameterTypes()
  public boolean isVarArgs()

  % java/lang/reflect/Constructor.java
  public Annotation[][] getParameterAnnotations()
  public Class<?>[] getExceptionTypes()
  public Class<?>[] getParameterTypes()
  public Type[] getGenericExceptionTypes()
  public Type[] getGenericParameterTypes()
  public boolean isVarArgs()

Sun must have really been losing their grip there as the end
approached. This class fakes some of the missing common parent.