Fix distort_random for distributed meshes

Previously, distort_random produced unconnected meshes for distributed meshes. Now we don't move vertices that belong to two or more different processes. The resulting mesh is connected.
I don't understand the logic of this whole block. I think you are sending moved vertices to processor ```i``` if ```i``` owns the cell (second for loop) or if it belongs to us, but the cell has a neighbor (through one of the faces) that belongs to ```i```. Correct?
This way you will miss vertices of ghost cells that only have a common vertex with the locally owned cells.

I think the logic on processor ```j``` should be:
  1. mark all vertices as interesting for processor ```i``` if they are part of a cell that belongs to ```i```
  2. mark all cells as interesting for processor ```i``` if at least one vertex is interesting for ```i```
  3. send all moved vertices of cells that are interesting for processor ```i``` from ```j``` to ```i```.

But maybe I am wrong...