SI-7757 disallow constructor annotations on traits

Previously it was possible to define constructor annotations on traits
with really weird side-effects (parser lost the body of the trait). Now
constructor annotations on traits will cause appropriate syntax errors.
SI-7757 add additional test case with annotation on the next line
SI-7756 Uncripple refchecks in case bodies

In 65340ed4ad2e, parts of RefChecks were disabled when
we traversed into the results of the new pattern matcher.
Similar logic existed for the old pattern matcher, but in
that case the Match / CaseDef nodes still existed in the tree.

The new approach was too broad: important checks no longer
scrutinized the body of cases.

This commit turns the checks back on when it finds the remnants
of a case body, which appears as an application to a label def.
SI-6797 Test case for already-fixed DelayedInit bug

Progressed in b4fbb7be0e2, "translation for DelayedInit keeps
more code in original class."
SI-7729 Fix broken windows build

Fixing #ifdiff uncovered a latent bug in partest when it detects
paths to normalize in test log output.  It would not normalize
file separators for test names with non-word characters.

This commit normalizes the test name to the ticket number as a
workaround until the next partest version is picked up.

It also fixes partest in this repo in case we've not yet switched
over to the new repo.  A separate PR will be submitted to the new
repo as necessary.
Merge pull request #2839 from densh/topic/si-7757

SI-7757 disallow constructor annotations on traits
Merge pull request #2854 from som-snytt/issue/7729-slash

SI-7729 Fix broken windows build
Merge pull request #2840 from retronym/ticket/7756-2.11

SI-7756 Uncripple refchecks in case bodies
Merge pull request #2853 from retronym/ticket/6797

SI-6797 Test case for already-fixed DelayedInit bug
No longer crash on NoSymbol.owner.

Historically calling NoSymbol.owner has crashed the compiler.
With this commit, NoSymbol owns itself. This is consistent with
the way ownership chains are handled elsewhere in the compiler
(e.g. NoContext.owner is NoContext, NoSymbol.enclClass is
NoSymbol, and so on) and frees every call site which handles
symbols from having to perform precondition tests against
NoSymbol.

Since calling NoSymbol.owner sometimes (not always) indicates
a bug which we'd like to catch sooner than later, I have
introduced a couple more methods for selected call sites.

  def owner: Symbol       // NoSymbol.owner is self, log if -Xdev
  def safeOwner: Symbol   // NoSymbol.owner is self, ignore
  def assertOwner: Symbol // NoSymbol.owner is fatal

The idea is that everyone can call sym.owner without undue anxiety
or paranoid null-like tests. When compiling under -Xdev calls to
`owner` are logged with a stack trace, so any call sites for which
that is an expected occurrence should call safeOwner instead to
communicate the intention and stay out of the log. Conversely, any
call site where crashing on the owner call was a desirable behavior
can opt into calling assertOwner.

This commit also includes all the safeOwner calls necessary to
give us a silent log when compiling scala.