minimized dependencies (should I also get rid of guava?) and added hashcode/equals to KeyGroup.
added serialization
use jdk 7