message: Update an MFEM_ASSERT for a special case that comes up when
  using 'host-umpire' memory which is the default when MFEM is
  built with Umpire.
diff: @@ -911,7 +911,12 @@ MemoryType MemoryManager::Delete_(void *h_ptr, MemoryType h_mt, unsigned flags)
  MFEM_ASSERT(IsHostMemory(h_mt), "invalid h_mt = " << (int)h_mt);
  // MFEM_ASSERT(registered || IsHostMemory(h_mt),"");
  MFEM_ASSERT(!owns_device || owns_internal, "invalid Memory state");
  - MFEM_ASSERT(registered || !(owns_host || owns_device || owns_internal),
  + // If at least one of the 'own_*' flags is true then 'registered' must be
  + // true too. An acceptable exception is the special case when 'h_ptr' is
  + // NULL, and both 'own_device' and 'own_internal' are false -- this case is
  + // an exception only when 'own_host' is true and 'registered' is false.
  + MFEM_ASSERT(registered || !(owns_host || owns_device || owns_internal) ||
  + (!(owns_device || owns_internal) && h_ptr == nullptr),
  "invalid Memory state");
  if (!mm.exists || !registered) { return h_mt; }
  if (alias)
  