message: In slepc.hpp, instead of defining globally SLEPc's EPS type use
  an alias: mfem::slepc::EPS, aka `struct _p_EPS *`.
  This resolves GitHub issue
diff: #include "petsc.hpp"
  -// Forward declarations
  -typedef struct _p_EPS *EPS;
  +// Forward declaration of SLEPc's internal struct _p_EPS:
  +struct _p_EPS;
  namespace mfem
  {
  +// Declare an alias of SLEPc's EPS type, mfem::slepc::EPS:
  +namespace slepc { typedef struct ::_p_EPS *EPS; }
  +
  void MFEMInitializeSlepc();
  void MFEMInitializeSlepc(int*,char***);
  void MFEMInitializeSlepc(int*,char***,const char[],const char[]);
  @@ -37,7 +40,7 @@ private:
  mutable bool clcustom;
  /// SLEPc linear eigensolver object
  - EPS eps;
  + slepc::EPS eps;
  /// Real and imaginary part of eigenvector
  mutable PetscParVector *VR, *VC;
  @@ -102,7 +105,7 @@ public:
  void SetSpectralTransformation(SpectralTransformation transformation);
  /// Conversion function to SLEPc's EPS type.
  - operator EPS() const { return eps; }
  + operator slepc::EPS() const { return eps; }
  /// Conversion function to PetscObject
  operator PetscObject() const {return (PetscObject)eps; }
  