Moved the mover to a named namespace such that it can be a friend of CpGridData.

The Mover classes need to access private members of CpGridData. This is only
possible if they are a friend of it. Unfortunately, this not possible with having
the Mover class in a unnamed namespace. Therefore this patch moves them a new
namespace "mover" in cpgrid and introduces the friend declaration.
Allows using temporary entity objects when moving data.
Entity needs a reference to CPGridData and not a pointer in its constructor.
Use subindex addressing instead of iterators on OrientedEntityRange.

While OrientedEntityRange inherits from boost::iterator_range, it does
this via private inheritance. Therefore iterating over the range is not
possible. After this patch whe access the range elements using operator[]
with the subindex.
Use loadbalance with a datahandle to have a better test coverage.
Documented gather and scatter methods.
Added methods to switch between the different views.
Corrected capabilities. CpGrid is parallel now!
Fixed interface of data handles.

The interface of data handle requires a fixedsize(dim,codim) method, but we
had only one without arguments. This patch fixes the interface.
Added capabilities for communicating codimension.
[bugfix] Corrected codimension of entity pointer returned by Entity::subEntity

Previously, the codimension was always zero. Now it is the one requested by the
template parameter of the method.
Fixes method subid on the indexset.

It did not compile before this patch as id was called with an entity
pointer and not an entity.
Adjusted capabilities: We cannot communicate codim-1 entities, as the grid does not support them, yet.
Corrects initialization of the communication interfaces.

Previously, they were intialized by the default constructor.
This resulted in using invalid MPI communicators. This explicitly
initializes them with communicator of the grid and resolves the
problem.
Fixes segmentation fault due to an inifinite loop when calling id.

When calling id with an Entitypointer the function lookup recursively
called template<class EntityType> IdType IndexSet::id(const EntityType& e) const
until the program segfaults. This patch adds an new methods that computes the id
and resolves this.
Fixes the rules for valid enitities of  a partition iterator.

In constast to the documentation iterator of type Overlap_Partition
and OverlapFront_Partition are supposed to also visit interior and border
entities. This patch reflects this in our rules and makes dune-grid's
partition check succeed.
Further tests and fixes for the paralle Cpgrid.
Make code compile even without MPI being present.
Fixes false positive for parallel test without MPI.
For clarity corrects the codimension in the data movement code.

The code worked correctly before because we only use the index() method
of the entities. Nevertheless using a codimendision 1 for entities of
codimension 3 looks weired. Therefore this patch fixes the wrong codimension.