Use a different random number generator.

For historical reason, GridTools::distort_random() is not deterministic in that if
you call it twice on the same mesh, it will produce different results. This is because
we call rand() which carries around internal state. On the other hand, for the newly
implemented parallel algorithm, we can ensure that this isn't the case by creating
our own random number generator that we start from the same seed every time.
Merge pull request #247 from bangerth/make-distort-random-partially-deterministic

Use a different random number generator.
Remove an unused variable.
Ensure we don't call a function that is only declared if we use MPI+p4est.
Merge pull request #249 from bangerth/fix-build-failure

Fix build failure
Fix the previous commit so that it doesn't produce a warning.
Merge pull request #250 from bangerth/fix-build-failure-2

Fix the previous commit so that it doesn't produce a warning.