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.
You can avoid (i) the `#ifdef DEBUG`, (ii) the local variables, (iii) the explicit calls to MPI, if you use `Utilities::MPI::sum` right inside the `Assert` statement -- you'd get down from 15 lines to 1 :-)