Fix MATSHELL support
Fix MATSHELL support

it is conceptually wrong freeing the context in the MatDestroy routine,
since MatDuplicate and MatCopy can be called.
Revert back to use the operator in the context only

This does not happen with PC, since we do not have Duplicate/Copy operations

Provided support for MatCopy

mfem/mfem,mfem/mfem,mfem/mfem,mfem/mfem,mfem/mfem