SI-6032 Enhance TaskSupport documentation.
SI-6022 model type-test-implication better

we use subtyping as a model for implication between instanceof tests
i.e., when S <:< T we assume x.isInstanceOf[S] implies x.isInstanceOf[T]
unfortunately this is not true in general.

SI-6022 expects instanceOfTpImplies(ProductClass.tpe, AnyRefClass.tpe), but
ProductClass.tpe <:< AnyRefClass.tpe does not hold because Product extends Any

however, if x.isInstanceOf[Product] holds, so does x.isInstanceOf[AnyRef],
and that's all we care about when modeling type tests
SI-6015 assertion (in Type-flow analysis) that wasn't, valid counterexample found
don't crash on syntactically incorrect value classes
statistics: print millis instead of micros.
polymorphic value classes

dropping boxing code, which turned out to be a dead end.
Pickled flag reorg

Cleaned up and optimized code that maps between raw and pickled flags. Avoids mystery constants. Makes a whole bunch of new flags be pickled which were not pickled before (more precisely: Everything in InitialFlags with value greater than 1 << 31 which is not in FlagsNotPickled now gets pickled whereas before it wasn't. Among these: VARARGS, IMPLCLASS, SPECIALZED, DEFAULTINIT, SYNCHRONIZED. I am curious how many tickets will get fixed by this change.

The first one I noted is t5504, which previously enforced the buggy behavior through a neg check!

There are also some build manager check file changes that have to do with the fact that flags now print in a different order for performance reasons.
starr sources to move cloneable class to package `annotation`
Moved cloneable class to package `scala.annotation`.

Requires a new starr.
SI-4763 Deprecated the `cloneable` annotation
Merge branch '2.10.x' into topic/pickledflags

Conflicts:
	src/reflect/scala/reflect/internal/Flags.scala
Removed EXISTENTIAL special case in unpickler.
Fix doc about specialized subclasses of c.i.HashMap/HashSet.

The documentation was wrong and judging from the “TODO: add HashMap2,
HashMap3, ...” in the source file I refrained from mentioning any
specific number, so overall it has gotten a bit less precise, but
hopefully more correct.

Review: @heathermiller
Merge pull request #881 from lrytz/t4763

SI-4763 deprecated `@cloneable` annotation
Merge pull request #887 from paulp/topic/pickledflags

major fixes to how flags are pickled
Merge pull request #878 from adriaanm/topic-polyvalclass

polymorphic value classes
Merge pull request #874 from adriaanm/ticket-6022

SI-6022 model type-test-implication better
Merge pull request #877 from magarciaEPFL/fixes

SI-6015 assertion (in Type-flow analysis) that wasn't, valid counterexample found
Merge pull request #884 from dcsobral/si/6032

SI-6032 Enhance TaskSupport documentation.
Optimization in asSeenFrom.

Eliminated about half the allocations of AsSeenFromMap by examining the
arguments more closely. The impact is not what one might conclude from
that statistic, because those were the cheap asSeenFrom calls - but now
they are cheaper. Also,

 - worked in some eager vals rather than lazy ones.
 - changed hot-spot comparison to use eq
 - simplified annotationArgRewriter
 - elimnated separate tracking of capturedPre

Statistics from compiling scala/collection/**.scala:

  - 4209382 calls to asSeenFrom
  - 1025945 maps created (instantiations of AsSeenFromMap)
  - 1525649 maps avoided (these were instantiations before this patch)

Review by most honorable performance-san @gkossakowski .

(Rebase of https://github.com/scala/scala/pull/835)