Improve implementation of graph algorithms (and fix a bug)
- Simplify interface of coloring methods (use range instead of callback interface)
- [bugfix] Pass coloring by reference in coloredGridViewPartition()
- Extract common functionality from *BasedElementAdjacency()methods to newcliqueListToAdjacency()method.
- Allow to pass custom element mapper to *BasedElementAdjacency()methods. One can now e.g. pass a custom mapper that merged elements into chunks by assigning the same index to several elements. The generated adjacency list can then be used to generate a coloring of the chunks.
- Use flat storage for nested vectors, because this is faster than std::vector<std::vector<...>>.