Moved World to a HashSet instead of an ArrayList to prevent duplications ruining neighbour counting. Generated a hashCode for Cell (the HashSet needs this)