Add inspection for unnecessary labels

Add inspection that warns about unnecessary labels on label-qualified
expressions and can remove the unnecessary label as a quickfix.

For example:

@loop while (true) {
    break@loop // '@loop' can be removed
}
Add intention for adding an explicit label to a label-qualifiable expression

Add intention for adding an explicit label to a label-qualifiable
expression when possible. For example:

@loop while (true) {
    break
}

Running this intention on the break keyword changes it into 'break@loop'
Add an inspection for unnecessary type parameter on super keyword

Add inspection that warns about an unnecessary type parameter on
a super keyword when the class has only one superclass.
Make JetSuperExpression not implement JetStatementExpression

Otherwise PSI modifications may insert unnecessary parenthesis around
a JetSuperExpression.

This causes slight breakage in the smart expression selector,
but it doesn't currently handle super expressions correctly anyway.
Add intention for adding explicit type parameter to super expression

Add intention for adding an explicit type parameter to a super
expression.