Don't hop to the first enclosing, non-silent context when typing refinements.

Closes SI-5305.

This reverts a few lines of e5cfe47a19, which was a remedy for SI-3614 and SI-3856*. I added a test case for the former, the
latter was already tested. Both tests pass after this change, and they do so with the old and new pattern matcher.

But does this change still "avoid trees with null types in presentation compiler"? What was the intent of the context hopping in the first place?

* Based on this comment: https://issues.scala-lang.org/browse/SI-3614?focusedCommentId=50477&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-50477, which elaborates further than the commit comment of e5cfe47a19.
Adding the Actor Migration Kit.

  Kit consists of:
    1) The StashingActor which adopts an interface similar to Akka.
    2) Props mockup for creating Akka like code
    3) Pattern mockup
    4) Test cases for every step in the migration.
    5) MigrationSystem which will paired on the Akka side.

  Review of the code : @phaller
  Review of the build: @jsuereth
Fixes SI-5804.

The hash table initialSize method is now within
the the hashset and hashmap classes, and not in the companion.
Overriding this method now yields hashmaps and hashsets
of the proper initial capacity.

Review by @phaller.
Fix to Scaladoc keyboard shortcuts for Firefox
Consider method-scoped companions in the implicit scope.

Fixes SI-4975.

I'll reproduce a relevant snippet of dialogue from Namers#companionSymbolOf:

/** The companion class or companion module of `original`.
   *  Calling .companionModule does not work for classes defined inside methods.
   *
   *  !!! Then why don't we fix companionModule? Does the presence of these
   *  methods imply all the places in the compiler calling sym.companionModule are
   *  bugs waiting to be reported? If not, why not? When exactly do we need to
   *  call this method?
   */
  def companionSymbolOf(original: Symbol, ctx: Context): Symbol = {

This was one such bug.
Closes SI-5735, this could also potentially fix a SO problem that @adriaanm was experiencing in IDE but could not reproduce it.
SI-3761: Overload resolution fails on by-name parameter

When isAsSpecific checks if method m applies to args of types of
formal params of m1, a by-name parameter was converted to its
underlying result type for the params (of m) but not the args (of m1).
This had the useful effect of making m(A) more specific than m(=>A),
which is the specified prioritization for implicit views,
but also made m(=>A) and m(=>A, B*) ambiguous.  To handle this edge
case, the isCompatible test for A and =>A is made explicit, and
by-name params are no longer converted.
fix for SI-5672
SI-5779: Wrong warning message (comparing values of types Float/Double and Number using `==' will always yield false)

BoxesRuntime knows how to compare java.lang.Number, so we must not warn.
SI-2405 Confer implicit privileges to renamed imports.

Yin and yang would be pleased: A fix in two parts.

1. Use the name of the imported symbol, rather than the alias, in the generated `Select(qual, name)` tree.
2. Do the opposite in `isQualifyingImplicit`, which performs one part of the shadowing check.

But there is still work to do. The second part of the shadowing check, `nonImplicitSynonymInScope`,
fails to notice this case (irrespective of aliased imports).

  // Expecting shadowing #2. Alas, none is cast!
  object Test1 {
    object A { implicit val x: Int = 1 }
    import A.x
    def x: Int = 0
    implicitly[Int]
  }

I'm hitching the residual problem to SI-4270's wagon.
SI-3761: Overload resolution fails on by-name parameter (amended per lrytz)

Lukas noted the stopgap at methTypeArgs isn't needed. What! No black tie formals.
More consistent solution for errorenous situations when infering the alternative.
From now on we specify explicity which attempt is tried and setError on the tree
depending on that. Relying on the context was a nice idea to avoid that but was
fragile when we were in the silent mode (like checking named arguments).
Last minor cleanup
Fixed issue where forkjoin analysis bombed with incompatible class change exception.
Merge pull request #603 from jsuereth/sbt-build-fixin

Fixed issue where forkjoin analysis bombed with incompatible class chang...
Merge pull request #586 from axel22/issue/5804

Fixes SI-5804.
For the benefit of future debugger users, let the context print some more useful information about error reporting
Merge pull request #583 from heathermiller/scaladoc/keyboard-shortcuts

Fix to Scaladoc keyboard shortcuts for Firefox
Better diagnosis for the SI-5044 fix
SI-5779: Wrong warning message (comparing Number)

Massage the predicates for readability.

Thanks to Adriaan for the push.  As an outsider, one tries
to tread lightly by minimizing the number of chars changed
in the source, which is the wrong optimization.

This code remains as it was (not amenable to extension).
This commit also deletes the flag I'd introduced to say that an
exhaustive check had already been done.  For the record, I
renamed it to something less silly before I zapped it.