SI-3577 Make varianceInType aware of BoundedWildcardType.
Make RefChecks#validateVariance aware of BoundedWildcardType.

The only test case that I know for this will be neutered
by the imminent fix for SI-6258; so I haven't been able to
test this.

But trying this manually, you can see that this patch defers the
the SI-6258 to the erasure phase.

Original:

scala.MatchError: ? (of class scala.reflect.internal.Types$BoundedWildcardType)
	at scala.tools.nsc.typechecker.RefChecks$RefCheckTransformer$$anon$3.scala$tools$nsc$typechecker$RefChecks$RefCheckTransformer$$anon$$validateVariance$1(RefChecks.scala:894)
	at scala.tools.nsc.typechecker.RefChecks$RefCheckTransformer$$anon$3.validateVariance(RefChecks.scala:965)

Modified:

java.lang.ClassCastException: scala.reflect.internal.Types$TypeRef$$anon$6 cannot be cast to scala.reflect.internal.Types$TypeBounds
	at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4160)
	at scala.reflect.internal.transform.Erasure$ErasureMap.apply(Erasure.scala:156)
Mention BoundedWildcardType in "a standard type pattern match".
Use proper Option methods instead of .get in scaladoc ModelFactory. Review by @ureche.
On --grep, partest must dir.list to descend into subdirs (fixes SI-6296)

In addition, always use UTF-8 when reading test files (and not default),
since some tests exercise UTF-8.

Also, quote "$JAVACMD" and convert it (and $JAVA_HOME) for cygwin, where
$JAVACMD is likely to include a space.
Fix SBT sha resolution for new * in sha files.
Warn when overloaded types are seen after typer.

Since it almost invariably means a crash is coming.
Workaround for SI-6301, @specialize crasher.

SpecializeTypes is generating symbols with overloaded types
which then proceed to crash in CleanUp or GenICode.  Until I
or someone works out why that is, take a look in case the
overload is easily disambiguated by the argument list arity,
in which case warn and proceed.
Rewrite of GenICode adapt.

Started for debuggability, stayed for clarify/performance.
Actual fix for SI-6301, specialized crasher.

This means the workaround in the previous commit is no
longer reached, but it should remain where it is as a much
needed layer of robustness/useful error reporting.
Don't synthesize trees with overloaded calls.

Finding call sites where we would generate (and get away with)
an overloaded constructor call after overloading resolution is
already done.
Eliminated more overloaded types after typer.

Synthetic calls to .## and the UninitializedField constructor
carried overloaded types.
Minor library changes to help overloading issues.
Hardening specialization and others.

Cleaned up some logic which has become unreasonably
circuitous over time. Gave "mkSuperSelect" an accurate
name (it's now "mkSuperInitCall".) Put in better logging
for spotting OverloadedTypes which should not be.
Culling debugging code.

I think one could actually choke and die on the quantity
of debugging code we have some places.  Look at this diff.
I think you are a lot better off being able to see the
logic.  Let's figure out a way to keep ephemeral tracing
code from burying us (both at source level and in log output.)
Merge remote-tracking branch 'origin/2.10.x' into merge-210

# By Ruediger Klaehn (14) and others
# Via Josh Suereth (13) and others
* origin/2.10.x: (49 commits)
  More useful -Xlog-implicits output.
  Reflection tuning
  Two more value classes.
  Fixed cloning a double-linked list.
  Expanded the reach of value classes.
  Added/fixed test files for SI-6227
  Two fixes for the worksheet instrumenter
  Fix crasher from bug in maven ant tasks.  Yippie.
  Closes SI-6227
  Fix for SI-6283, no abstract value classes.
  hotfix for SI-6293
  Commented out assertions
  removes Symbol.kind and Type.kind
  Add missing tests for SI-6190
  SI-6281 macroArgs for defs with implicit args
  SI-6280 Scaladoc: Reloading preserves anchors
  Added test to ensure that ListMap.tail is O(1)
  Made ListMap.tail O(1) instead of O(N)
  SI-6052 - fix groupBy on parallel collections
  SI-6272 Support lazy vals defined in try in template.
  ...
SI-6278 fixed: synthetic implicit def must sort with its associated implicit class

Add a case to the ad-hoc (or add-hack) addSynthetics to keep the trees close.

This relies on naming convention, so changes in naming of the implicit def
would require an update here.
Merge pull request #1229 from paulp/merge-210

Merge 210
Merge pull request #1223 from som-snytt/issue/6296-test-grep

On --grep, partest must dir.list to descend into subdirs (fixes SI-6296)
Merge pull request #1224 from jsuereth/fix_version

Fix SBT sha resolution for new * in sha files.