SI-8479 Fix constructor default args under scaladoc

The `DocDef` node hid the `DefDef` constructor from the scrutinee
of the namer when determining if the class had constructor defaults
or not.

The current pattern for fixing these bugs is to delegate the check
to `TreeInfo`, and account for the wrapper `DocDef` node. I've
followed that pattern, but expressed my feelings about this approach
in a TODO comment.

Before this patch, the enclosed test failed with:

     error: not enough arguments for constructor SparkContext: (master: String, appName: String)SparkContext
Merge pull request #3678 from retronym/ticket/8479

SI-8479 Fix constructor default args under scaladoc
SI-8596 Fix rangepos crasher with defaults, poly methods

Regressed in SI-7915 / 3009a525b5

We should be deriving the position of the synthetic `Select`
from `basefun1`, rather than `basefun`. In the new, enclosed
test, the difference amounts to:

    new Container().typeParamAndDefaultArg[Any]()
    `------------ basefun1 --------------'
    `----------------- basefun ---------------'

For monomorphic methods, these are one and the same, which is
why `presentation/t7915` was working. I've extended that test
to a polymorphic method to check that hyperlink resolution works.
Merge pull request #3799 from retronym/topic/8596-2.10

SI-8596 Fix rangepos crasher with defaults, poly methods
SI-8589 Performance improvement for ArrayCharSequence.toString