refactor logic to judge type of instance
fix a bug which will be happen in rare situation.

oraclejdk normally use LDC_W to push class literal from constant pool,
but use LDC to push String if offset is enough small.
Previous implementation does not expect that JVM will call LDC_W to push
String. To fix it, we have to know which type will be pushed before
calling getClassConstantOperand() method.
Java compiler might use LDC to push Class from contant pool.
refactoring: make if-block readable
start using guava-libraries
refactor with guava-libraries
Merge branch 'refactoring'