Fix the issue that lower/uppercase of files are not correctly handeled

I have the following issue on the case-insensitive file system like OS X.

Let's say we have two classes `com.example.a` and `com.example.A` in jar file. After decompiling it, I observe only `A.java` is created and the content is actually class `a`. This happens because file system can be case-insensitive, while java class name is case-sensitive in jar file.

To resolve it, I employed the same way as [`smali` did](https://code.google.com/p/smali/issues/detail?id=35). My change is detecting file system's case sensitivity and if it's case-insensitive, use the numbered name as output file name (in former example, class A is decompiled into A.2.java).