Override hashCode when equals overridden

Java 8 added a warning for this:

https://bugs.openjdk.java.net/browse/JDK-6563143
Add missing @Override annotations
JCLOUDS-573: Make sure to destroy all nodes created in the tests
Prefer ByteStreams over ByteArrayOutputStream