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.
> We are assuming that cells on different processes that only toch in one vertex have a ghosted neighbor in common.

Which is not enough in 3d, I think. Imagine 2x2x2 cubes with the one cube touching vertex (0,0,0) belonging to us and only the one touching (2,2,2) belonging to processor 2 (everything else might belong to some other processor). We need to send the vertex (0,0,0) to processor 2, but 2 has no cell that connects with our cell through a face.

Does that make sense?

I think you are trying to answer the question "is this a ghost cell for processor y" for each local cell. Maybe we should implement this functionality.