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.
What does this function do and what do the arguments mean?