Rule for Inaccessible

Warn when defining publicly overridable methods which reference private types.

The checks are based off those in Xlint's implementation of the same rule: https://github.com/scala/scala/blob/2.11.x/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala#L1638