We define a subclass of ManifoldSubset whose instances represents the topological closure of given subset in the manifold.
Subsets provide a method closure to construct it. When the subset is already closed, as detected by the new method is_closed, it just returns the input.
We also add a method declare_closed. It just sets up an open disjoint union with an open complement. (This is exactly what is_closed tests.)
The purpose of this is to build a connection of manifolds to cell complexes and convex polyhedra: In a separate ticket, we will define embedded submanifolds of euclidean spaces that arise as interiors of polyhedra or relative interiors of their faces.
Depends on #31763
Depends on #31798
CC: @egourgoulhon @tscrim @yuan-zhou @mjungmath
Component: manifolds
Author: Matthias Koeppe
Branch/Commit: 9abc617
Reviewer: Eric Gourgoulhon
Issue created by migration from https://trac.sagemath.org/ticket/31644