Generically construct level iterators

Generic implementation of levelbegin() and levelend()
is straightforward with the new datastructures.
Generically construct the send and recvlists for communication

This is also straightforward with the new data structures.
Generically compute the siyes in codimension

This information is already at hand. In fact, one should
discuss whether precomputing and storing is still the way
to go here.