Silence pos/t3960's -Ycheck output.

Someday someone will have to straighten out where output goes.
Clearly under current conditions, Console.err is not a good place.
I rerouted through unit.warning so the output will be swallowed
like all the other warnings.
Cull extraneous whitespace.

One last flurry with the broom before I leave you slobs to code
in your own filth. Eliminated all the trailing whitespace I
could manage, with special prejudice reserved for the test cases
which depended on the preservation of trailing whitespace.

Was reminded I cannot figure out how to eliminate the trailing
space on the "scala> " prompt in repl transcripts. At least
reduced the number of such empty prompts by trimming transcript
code on the way in.

Routed ConsoleReporter's "printMessage" through a trailing
whitespace stripping method which might help futureproof
against the future of whitespace diseases. Deleted the up-to-40
lines of trailing whitespace found in various library files.

It seems like only yesterday we performed whitespace surgery
on the whole repo. Clearly it doesn't stick very well. I suggest
it would work better to enforce a few requirements on the way in.
Merge pull request #2960 from paulp/noisy-test-3960

Silence pos/t3960's -Ycheck output.
Merge pull request #2961 from paulp/pr/whitespace

Cull extraneous whitespace.
Merge pull request #2959 from paulp/pr/basic-type-housekeeping

Type housekeeping.
Position#show prints the point.

Can't ensure range position points are meaningful when we never
see them. To limit noise, only print the point when it != start.

  [x:y]    // point=x, start=x, end=y
  [p/x:y]  // point=p, start=x, end=y

I'm open to a different syntax.

Also prints NoPosition as [X] rather than [NoPosition] because
noise is for construction workers and attenders of rock concerts.

Some range position and parser tests are included so we can see
the checkfile change when the forthcoming fix happens (either an
error message improvement or a positional one.)
SI-7854, SI-6768 better parsing/positioning in parser

The parser hole I found while working on the generated positions
serves as the umbrella for a host of improvements. Upgraded
positions assigned during some specific challenging situations mostly
involving the creation of synthetic trees, e.g. for comprehensions
and closures. While doing so improved some error messages.

Eliminated some of the most glaring duplication in the parser.
It's written like there is some payoff associated with being
spectacularly imperative. Not so far.