Rule for PackageObjectClasses

Warnings for the issue presented in SI-4344: https://issues.scala-lang.org/browse/SI-4344

Unlike the current `-Xlint` warning, this rule also warns about objects defined in package objects (as in the example at the link above). It is currently in `core` as was the case with `ByNameRightAssociative`.
What about providing a string interpolator `w` for warnings in the SymbolWarning class that can access `$tree` and `$pos`? We then add an implicit warning class that will transform a Tree into a Warning and we can simply `nok(tree)` in the rule.

This means we only have one field to write for the custom rule warning, but we have to write a new interpolator.