Fix for #118

Added a boundary check to determine the propagateDef flag
Merge pull request #119 from malaverdiere/develop2

Fix for #118
Merge pull request #117 from malaverdiere/develop

Misc Updates to Hierarchies
removed commented-out code
Added a trap splitter to handle overlapping / nested try/catch blocks. They are not supported in Dalvik, but can exist in Java. If we try to inject a Java class into Dalvik code, we need to split them so that we get distinct flat try/catch blocks.

Assume: start1 .. start2 ... end2 ... end1. We tranform it to start1 ... end1, start(1,2) ... end(1,2), start1 ... end1 where the (1,2) block in the middle contains the merged handlers for the different exception types handled by 1 and 2.

This is to fix issue https://github.com/Sable/soot/issues/116
added a missing class
Support for reading and writing Dalvik Annotations
#1: added type information
#2: made an error message more informative
Fix for #120

Problem:
When a jar file contains both .class and .java files, the .java files
are picked up and given to the class loading algorithm to read. However,
the Java front-end cannot read from an archive and throws an exception.

The exception states that Polyglot isn't able to load the file, but
this can be confusing when the user is running Soot with Polyglot disabled.

Solution:
Ignore .java files in archives

Changes:
 * Ignored .java files in archives in SourceLocator
 * Improved the exception message in JavaClassProvider