SI-8092 More verify for f-interpolator

Attempt to verify the nooks and crannies of the format string.

Allows all syntax in the javadoc, including arg indexes. If the
specifier after an arg has an index that doesn't refer to the arg,
a warning is issued and the missing `%s` is prepended (just as
for a part with a leading `%n`).

Other enhancements include detecting that a `Formattable` wasn't
supplied to `%#s`.

Error messages attempt to be pithy but descriptive.
SI-8092 Refactor f-interp

A denshish refactor makes the FormatInterpolator a nice bundle
that destructures its input and flattens out the classes to
give the code some elbow room. Everything shifts left.

The `checkType` method is refolded and renamed `pickAcceptable`.

An additional test case captures the leading edge test, that
a % should follow a hole, and which is the most basic
requirement.
SI-8092 Review cleanup, no qq

No crazyquoting. Use global.abort on total fail.

Remove unnecessary usage of varargs Apply, per review.
Merge pull request #3420 from som-snytt/issue/8092-f-parsing

SI-8092 More verify for f-interpolator
Merge branch 'master' of https://github.com/scala/scala