added gpg to build, switched to Guava for closing resources and equals/hashcode