java-decompiler: optimization (less string buffer allocations on generating text)
java-decompiler: optimization (empty lists allocation avoided)
java-decompiler: code attributes reading restored
java-decompiler: fixes and cleanups

- console decompiler: resource closing, lookup instead of scan, error reporting
- logger interface reworked
- saver interface renamed
- bytecode provider returns byte array (to reduce stream leakage)
- extra level of context unit avoided
- unneeded exceptions, dead code, formatting
java-decompiler: bulk decompilation test added
IDEA-127466 (test added)
Merge remote-tracking branch 'origin/master'