Rule for PackageObjectClasses

Warnings for the issue presented in SI-4344:
https://issues.scala-lang.org/browse/SI-4344
Changed ScopingRule to deal with scala scopes and extended optimizing
macro to ClassDef and ModuleDef