Merged JavaFile into JClass.
Added some doc and code cleanup
Improved splitting typedef with fields multiple types.

Types will generate a method for each type. Currently this causes getters generation with different return types, which is not correct of course. Also added some test cases for specific typedef constructions that are incorrectly handled.