Performance/Style Optimizations

- all fields are now final (and thus JIT-compiler can inline them)
- untouched fields are now also static
- unnecessary "throws Exception" removed (no need to catch it either!)
- methods only accessing static fields/no fields are static
- switched to org.junit.Assert with assertArrayEquals
- corrected expected/actual order in tests
- added brief messages what was tested to asserts
- a lot local variables declared final

All of these changes don't change the behaviour of the class with the exception of `getVersion()` which is now accessible without instanciating the class. All chnages are for better performance and/or readability.