KT-4581: Add add/remove unnecessary label inspection/intention

This PR implements inspections for removing either an unnecessary label from a label-qualified expression or an unnecessary supertype parameter from a super expression. Also add intentions that do the reverse; i.e. add an explicit label or supertype parameter when possible.

The commit 'Make JetSuperExpression not implement JetStatementExpression' introduces a slight regression in the smart selection code, now for `super@Foo` it breaks up the label part and presents both `super` and `super@Foo`. However, it's currently broken even for cases like `super<Bar>` and shouldn't allow selecting just