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.
Fixed bare image.
Merge pull request #251 from luca-heltai/fix-step-54-bare-image

Changed bare image of geometry.
Fixed install files for step-54.
Merge pull request #253 from luca-heltai/fix-step54-install-files

Fixed install files for step-54.
Fix uninitialized variables in Utilities::MPI::MinMaxAvg
Merge pull request #254 from kronbichler/fix_mpi_min_max_avg

Fix uninitialized variables in Utilities::MPI::MinMaxAvg
fixed a bug in set_matrix_mode.

STSetMatMode shall be called only after transformation_data->st
is initialised. Thus, we need to store the desired STMatMode
untill set_context is called from the solver object.