Document some bits of extra knowledge I recently learned about UG
Introducing ParMetisGridPartitioner, a helper class to partition Dune grids with ParMetis

This patch adds a new file with one class ParMetisGridPartitioner.  This
class provides a convenient way to obtain grid partitionings using ParMetis
for arbitrary Dune grids.

Using only methods of the grid interface, it assembles the adjacency information
required by ParMetis, and then calls ParMetis to obtain an initial partitioning
or a repartitioning.  The output is given in a std::vector<unsigned int>, which
for each interior element contains the number of the process where this element
should be sent to.

Currently, there is no standardized why to feed repartition information into
a Dune grid.  Using std::vectors here is a proposal, and I will not object to
changes if somebody comes up with a smarter idea.  Currently, the output of
the ParMetisGridPartitioner class can be fed directly into the loadBalance
method of UGGrid, so now you can repartition UGGrid objects with ParMetis.
New test for the dynamical load-balancing of UGGrid

This new file serves several purposes.  First of all, it tests the new
ParMetisGridPartitioner class.  At the same time, it tests the dynamic load
balancing capabilities of UGGrid.  For this it creates a structured grid
and refines locally around a sphere of given position and radius.  This
sphere is then moved, leading to a dynamically changing distributed grid.

While this program runs on a single core, it is as of today quite easy
to make UGGrid crash by increasing the number of processors, refinement levels,
element types, grid dimensions etc.  Therefore I also consider this new
program as a sort of stress test and benchmark for the UGGrid grid manager.
If it can run this code on very many processors, then dynamic load-balancing
really works.

Implementors of other parallel adaptive grid managers are invited to test
the stability of their codes using this testcase.

No cmake support yet for this new test.  Getting cmake to properly handle
the external dependencies is still beyond me.