Really use the global id set.

Now that the cornerpoint grid is parallel, the local and global id
set might not be the same. Therefore this patch changes the traits class
and the globalIdSet() method to return a real global id set.
Removes some unused parameter warnings.
[bugfix] Use correct typedef EntityPointerType in function definitions.
Removes unused parameter warnings.
[bugfix] Prevent endless recursion when calling id(entity).
Refactored GlobalIdSet to make it reusable from CpGridData, directly.

Due to the circular dependencies of class In CpGridData.hpp and Indexset.hpp
no function of GlobalIdSet could be called from CpGridData without incomplete
type error. Therefore this patch factors out the the functionality needed by
CpGridData into an independent base class.

Note that one cannot get ids of entities of codim=1,2.
Make it possible to gather distributed data on all processes.

Refactored CpGrid::scatterData and added a working code to gather data
attached to a distributed grid on a global (i.e. process knows all the
entities) representation of the same grid.