refactor java backend to use more dependency injection
fix code review comments
fix Yilong's comments
Merge branch 'unified-builtins2' into javaoptions3

Conflicts:
	src/javasources/KTool/src/org/kframework/backend/java/indexing/IndexingPair.java
	src/javasources/KTool/src/org/kframework/backend/java/symbolic/KILtoBackendJavaKILTransformer.java
Merge pull request #862 from dwightguth/javaoptions3

refactor java backend to use more dependency injection