Fix failing assertion in ChangeFunctionTypeFix
Merge pull request #246 from lopekpl/failing_assertion

Fix failing assertion in ChangeFunctionTypeFix
Unnecessary copy eliminated
Profiling shows that ImmutableSet is faster than EnumSet in this case
Class made final and a call to getClass() eliminated
(Profiling results improved)
Avoiding rehashes (profiling results improved)
Creating physical files to avoid unnecessary work inside the PSI framework
forceResolveAll() is not called when compiler initializes built-ins
Optimization: no need to build a set of all supertypes, if we only need to check whether there's a nullable one
Optimization: Unneeded collection creation eliminated
General class for Field, Property, FieldForSharedVar extracted
Removed code duplication and unnecessary branch
Refactoring: property processing generalization
KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring
KT-3500: ClassFormatError: Duplicate method name&signature in class file && KT-3429: Traits override bug
Unify properties initialization for init and clinit
Rename method
RmoveUnnecessaryParenthesesIntention
CastExpressionFix
Fix test