[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.