making the library JDK 1.6 compatible and compiling for JDK 1.6

Using this change the library will be JDK 1.6 compatible and will run on JDK 1.6 too. 
I'm using guava's Objects... instead of JDK 1.7's Objects for hashcode and equals building.