AbstractFile.getDirectory does not return null when outDir is "."
SI-7432 Range.min should throw NoSuchElementException on empty range

For consistency, range.max and range.min should throw
NoSuchElementException on an empty range.
SI-7432 add testcases
fix typo in comment
Limit unnecessary calls to Type#toString.

Logging revealed a few thousand calls to the often expensive
Type#toString emerging from tailcalls. The error message was
being generated for all methods even though it was only issued
in rare cases (and for the particular tailrec failure which
made the call, extremely rare.)

The remaining boatload of unnecessary Type#toString calls are
much harder to fix due to the design of "AbsTypeError" and the
fact that the compiler approaches mutability like a cat approaches
a loaded gun. See SI-6149.
SI-6039 Harden against irrelevant filesystem details

The symbol loader need not create and populate package
symbols merely because there is a directory somewhere.
Every package created based on the existence of a directory
should contain a classfile, either directly or indirectly.
Merge pull request #2470 from ihji/master

SI-7432 Range.min should throw NoSuchElementException on empty range
Merge pull request #2501 from paulp/pr/tailcalls-tostring

Limit unnecessary calls to Type#toString.
SI-6406 Restore deprecated API

The original patch for SI-6406 was intended for 2.10 but during
those volatile weeks of early autumn, it missed the boat.

A deprecated method was incorrectly tagged at 2.10 and later
removed; this restores the method and its test, and resets
the deprecation clock to 2.11.

The deprecation tool should confirm that changes occur on the
git timeline as claimed.
SI-5923 instantiates targs in deferred macro applications

In January I submitted a pull request that, as I thought back then,
fixes SI-5923: https://github.com/scala/scala/commit/fe60284769.
The pull request was merged, and everyone was happy that the bug got fixed.

Unfortunately, the fix was: a) incomplete, b) broke something else,
as noticed by Miles in https://groups.google.com/d/topic/scala-internals/7pA9CiiD3u8/discussion.

Now we got a real fix in 2.10.x (https://github.com/scala/scala/commit/90ac5c4e13),
and it's my pleasure to port it to master.
macroExpandAll is now triggered in all invocations of typed

This is a port of https://github.com/scala/scala/commit/bb73b9669a from 2.10.x.
SI-7167 implicit macros decide what is divergence

This is a port of https://github.com/scala/scala/commit/8168f118c9 from 2.10.x,
with an additional change to the `enclosingImplicits` and `openImplicits` APIs,
which encapsulates tuples of `pt` and `tree` into `ImplicitCandidate`.
SI-7047 fixes silent for c.inferImplicitXXX

This is a port of https://github.com/scala/scala/commit/b4da864247 from 2.10.x.
removes duplication in inferImplicitValue

This is a port of https://github.com/scala/scala/commit/4e64a2731d from 2.10.x.
SI-7469 Make @deprecated elems in scala.concurrent private[scala]

They can't be removed yet because scala.actors depends on it.
SI-7469 Remove deprecated elements in s.u.parsing.combinator
SI-7469 Remove @deprecated MurmurHash elements
SI-7469 Remove @deprecated scala.util.parsing.ast
SI-7476 Add documentation to GenericTraversableTemplate
Fix formatting for couple of docs in the compiler

Source code on scaladoc for the virtual pattern matcher was not being
correctly identified as such. Also, I had to use an html code tag instead
of backticks when referring to the __match identifier, otherwise the
double underscore would be treated as start-of-underline wiki markup.