new GridTools::flatten_triangulation

New GridTools::flatten_triangulation. Gives the ability to copy a flattened version of a Triangulation, with possibly different spacedims.
I assume the function isn't going to work if there are hanging nodes -- or at least create an invalid triangulation with interior boundaries, right? Can you check and document this?