SI-8538 Test or example for Source.report

It's possible to supply an arbitrary `Positioner` to a
custom `Source` that wants to override `report`.

This obviates the need to expose the deprecated `Position` class.

The default report method consumes the underlying iterator, which
is not desirable and produces unexpected results.

The expected outcome is that no one uses or extends the legacy
position handling code.

In 2.12, use a Reporter instead, perhaps. The current API is
used by scala-xml's MarkupParser.
SI-8538 Document extension

Scaladoc for report extension point.
Merge pull request #4191 from som-snytt/issue/8538

SI-8538 Test or example for Source.report