Fix VertexID hashing to be consistent between executions

It turns out that giraph requires the "hashCode" of Vertex ID objects to be consistent across tasks (and thus different java executions).

This patch fixes the VertexID class so that the hashCode() method always returns the same value whatever across JVM executions.