[boxing optimization] Fixes after review
[boxing-optimization] Support for IFNONNULL opcode in RedundantNullCheckMethodTransformer
[boxing-optimization] Do not remove boxing when possibly unsuccessful CHECKCAST is performed
[boxing-optimization] Optimization of type conversion with boxed values (transform Integer.valueOf(x). .. .longValue() -> I2L and etc)
[boxing-optimization] Refactoring: extracted specific logic into RedundantBoxedValuesCollection class
[boxing-optimization] Refactoring: extracted common logic of working with local variable table into getValuesStoredOrLoadedToVariable
[boxing-optimization] Refactoring: reordering methods to usage places
[boxing-optimization] Changed strategy from enumeration of unsafe operations to permitted + INSTANCEOF added
[boxing-optimization] Minor refactoring: analyze-method added
[boxing-optimization] fixed isSafeCast, so it doesn't use Class.forName()
[boxing-optimization] tests added
[boxing-optimization] Merge conditions refinement
[boxing-optimization] Fixed test in evaluateExpression (redundant boxing was removed)
[boxing-optimization] Added "optimizations" flag to settings everywhere
[boxing-optimization] Global renaming:
1. optimizations -> optimize, where it's the user's flag
2. optimizations -> to singular form in all other cases