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.
Use `|| (distributed && forbid_move[global_vertex_no])` in the last part of the condition. You may want to update the comment.