Prevent a package depending upon another

Enforce architecture rules, such as data access layers not depending upon UI layers.

Kotlin developers can configure an inspection to define illegal package dependencies, which can prevent code from accidentally depending upon the wrong packages, for example the UI layer talking directly to the data access layer.