SI-7876 Scaladoc crasher due to regression in isFunctionType.

`isFunctionType` and `isTupleType` started returing true for
type constructors as of aeb73314. This led to a crash in type
printing in ScalaDoc (specfically, in ModelFactoryTypeSupport.scala)

This commit:
  - fixes those methods by guarding with !isHigherKinded
  - unit tests said methods
  - tests the reported crasher with a ScalaDoc test.
SI-7876 Less dealiasing in Scaladoc's type printing.

Scaladoc renders tuple and function types with the syntactic sugar.

To do so, it was using `isFunctionType` and `isTupleType`. Internally,
these methods dealias, so one can't simply take the type arguments
from the given type to get the element types of the tuple.

In ac96200c92, a Scaladoc crasher in this area was resolved by
normalizing a type before extracting Tuple type arguments.

Similar code already existed in the handling of FunctionTypes.

This commit goes in the opposite direction, and instead queries
the `direct` versions of those methods, which do not perform
dealiasing.

Conseqeuently, the type aliases that appear in the source code
signatures for members will be rendered as such in Scaladoc.
Which seems like an improvement.
Merge pull request #2990 from retronym/ticket/7876

Scaladoc regression with Function / Tuple type constructors