Adapt a dm based on a label with values interpreted as coarsening and refining flags. Specific implementations of DM maybe have specialized flags, but all implementations should accept flag values DM_ADAPT_DETERMINE, DM_ADAPT_KEEP, DM_ADAPT_REFINE, and DM_ADAPT_COARSEN.
Collective on dm
dm - the pre-adaptation DM object
label - label with the flags
dmAdapt - the adapted DM object: may be NULL if an adapted DM could not be produced.