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.
From just reading the documentation, I don't know what the function does. It communicates something, but what is it? What are "changed vertices"? A better name for the function would help, as would a description of what the function's intended use case is.