bugfix against IOException: may not close the jar output stream after writing of the class; instead the stream is closed in the end, through a call to tearDownJAR()

I wonder how this could ever have worked!?
fix for toDex: gracefully handle situation where an instance method does not have a this-local
code cleanup
removed unnecessary typecasts and improved performance
added type information
replaced a string comparison for performance and type safety reasons
removed some warnings
added some type information, removed some unused variables, avoided computing stuff over and over again
fix for the fix
interning strings to save memory
interned more strings for performance
1) added a more verbose error message if the directory specified for the Android platform JARs does not exist
2) fixed a potential memory leak. The ZIP file for the APK was never closed again
1) added validation code to make sure that no goto instruction jumps directly to itself as this break the toDex component
2) added a check into toDex to detect self-jumps early on and make debugging easier

related to #148
Class Loading Improvements

 * Transformed some for loops into for-each loops
 * Type safety for the dependencies
 * Converted all dependencies to Type
 * Removed the instanceOf switching in SootResolver
Merge pull request #153 from malaverdiere/tmp-soot

Minor tweak for class loading