[REWRITE] Yasp has all entities and communication.

This is a major rewrite of Dune::YaspGrid. It now
- has full entities of all codimensions
- communicates on all these codimensions
- works for arbitrary dimension (again)

Of course, these new features come at a price.
The performance implications in comparison to the old
code have been measured. Iterating over the grid and
computing indices and subindices got a bit slower
(to a maximum of 20%). However, these operations are
still really (!) fast.

Here are some implications for the implementation
(not of interest for users):
- The former YGrid is now called YGridComponent. All entities
  that belong to one such component share the same "shift"
  (the set of spanning unity vectors). For codim 0 and dim,
  there was only one component describing a codimension, in
  general this is dim choose codim.
- A YGrid is a collection of YGridComponent. A YGrid
  describes the parts of a grid given by partition type
  and a codimension. It offers iterators to iterate over
  the multiple components. YGridList does the same thing
  for send and receive lists.
- Yasp handles codimensions generically now. The former
  data structures {cell,vertex}_{...} are replaced by
  arrays of size dim + 1 of {...}.
- The entity implementation provides a generic implementation
  of the index methods according to the new generic reference
  elements.
- A namespace Yasp is introduced and used to hide away some
  free functions from the user.
- YaspGeometry now handles the bitsets required by
  AxisAlignedCubeGeometry directly.

The incode and doxygen documentation of the rewritten code
was improved whenever it seemed necessary.
[bugfix] fix initializer list of unused constructor

This constructor was not covered by the test and was forgotten.
Treat geometries by its lower left and upper right corner

Yasp treated geometries by taking the midpoint and size information,
although it stored the information as lower left and upper right
corner. AxisAlignedCubeGeometry also asks for the latter. With this
patch, this transformation is omitted. Additionally, YgridComponent::
Iterator doesnt store positions anymore but instead asks the coordinate
container directly.
[doc] Document that YaspGeometry and AxisAlignedCubeGeometry are the same now.
[bugfix] Fix valgrind bug on tensorproduct grids

The recent change in the instersection resulted in invalid
reads on the tensorproduct coordinate container. The intersection
now asks the container directly, instead of using the outside
entity. Additionally, the upperright() method of the YGridComponent
doesnt use the meshsize anymore but instead looks up the correct
coordinate.
[yaspgrid, bugfix] fix assignment from variable to itself
[REWRITE] Yasp has all entities and communication.

This is a major rewrite of Dune::YaspGrid. It now
- has full entities of all codimensions
- communicates on all these codimensions
- works for arbitrary dimension (again)

Of course, these new features come at a price.
The performance implications in comparison to the old
code have been measured. Iterating over the grid and
computing indices and subindices got a bit slower
(to a maximum of 20%). However, these operations are
still really (!) fast.

Here are some implications for the implementation
(not of interest for users):
- The former YGrid is now called YGridComponent. All entities
  that belong to one such component share the same "shift"
  (the set of spanning unity vectors). For codim 0 and dim,
  there was only one component describing a codimension, in
  general this is dim choose codim.
- A YGrid is a collection of YGridComponent. A YGrid
  describes the parts of a grid given by partition type
  and a codimension. It offers iterators to iterate over
  the multiple components. YGridList does the same thing
  for send and receive lists.
- Yasp handles codimensions generically now. The former
  data structures {cell,vertex}_{...} are replaced by
  arrays of size dim + 1 of {...}.
- The entity implementation provides a generic implementation
  of the index methods according to the new generic reference
  elements.
- A namespace Yasp is introduced and used to hide away some
  free functions from the user.
- YaspGeometry is now reduced to a wrapper around AxisAligned
  CubeGeometry. This wrapper is only needed to fulfill the
  interface requirements of the facade.

The incode and doxygen documentation of the rewritten code
was improved whenever it seemed necessary.