Restore linking to source from scaladoc.

Somehow the `docsourceurl` param got dropped in the build refactor.
Merge pull request #3698 from adriaanm/scaladoc-sourcelink

Restore linking to source from scaladoc.
Use named class for UndoPair.

Use specific, named class for UndoPair instead of generic Tuple2. This
makes analysis of heap dumps much easier because profilers let you inspect
memory consumption on per-class basis.

The UndoPair case class is defined in companion object to not hold an
outer pointer reference.
Merge pull request #3702 from gkossakowski/undoPairs

Use named class for UndoPair.
WIP: trying to apply the Literal-based singleton types commit by @paulp to the master.
Fix non-working things.
Update check file.
Problems with null.
Update the check file.
This is needed for the tests to pass.
Added a macro to materialize an inhabitant for the singleton type.
Added a test with the Ranged class mentioned by @non.
Add inhabitant to the bincompat whitelist.
Marked potentiall places in code where constant type folding and singleton type inlining might occur.
Inlining functions with singleton result type.
More involved example with Ranged.
Needed for the tests to pass after adding the SingleInhabitant
Checking for declared singleton type. Tests seem to pass, but the issue is still there.
Forward bincompat.
Another problem.