message: In ex6p.cpp, add an option to choose between conforming
  and nonconforming refinement for simplicial meshes.
  Add two new sample runs using nonconforming refinement for
  one 2D and one 3D simplicial meshes.
diff: //
  // Sample runs: mpirun -np 4 ex6p -m ../data/square-disc.mesh -o 1
  // mpirun -np 4 ex6p -m ../data/square-disc.mesh -o 2
  +// mpirun -np 4 ex6p -m ../data/square-disc.mesh -o 2 -ns
  // mpirun -np 4 ex6p -m ../data/square-disc-nurbs.mesh -o 2
  // mpirun -np 4 ex6p -m ../data/star.mesh -o 3
  // mpirun -np 4 ex6p -m ../data/escher.mesh -o 2
  +// mpirun -np 4 ex6p -m ../data/escher.mesh -o 2 -ns
  // mpirun -np 4 ex6p -m ../data/fichera.mesh -o 2
  // mpirun -np 4 ex6p -m ../data/disc-nurbs.mesh -o 2
  // mpirun -np 4 ex6p -m ../data/ball-nurbs.mesh
  @@ -60,9 +62,10 @@ int main(int argc, char *argv[])
  int order = 1;
  bool pa = false;
  const char *device_config = "cpu";
  - bool visualization = true;
  + bool nc_simplices = false;
  int max_dofs = 100000;
  bool restart = false;
  + bool visualization = true;
  OptionsParser args(argc, argv);
  args.AddOption(&mesh_file, "-m", "--mesh",
  @@ -73,13 +76,17 @@ int main(int argc, char *argv[])
  "--no-partial-assembly", "Enable Partial Assembly.");
  args.AddOption(&device_config, "-d", "--device",
  "Device configuration string, see Device::Configure().");
  - args.AddOption(&visualization, "-vis", "--visualization", "-no-vis",
  - "--no-visualization",
  - "Enable or disable GLVis visualization.");
  + args.AddOption(&nc_simplices, "-ns", "--nonconforming-simplices",
  + "-cs", "--conforming-simplices",
  + "For simplicial meshes, enable/disable nonconforming"
  + " refinement");
  args.AddOption(&max_dofs, "-md", "--max-dofs",
  "Stop after reaching this many degrees of freedom.");
  args.AddOption(&restart, "-res", "--restart", "-no-res", "--no-restart",
  "Restart computation from the last checkpoint.");
  + args.AddOption(&visualization, "-vis", "--visualization", "-no-vis",
  + "--no-visualization",
  + "Enable or disable GLVis visualization.");
  args.Parse();
  if (!args.Good())
  {
  @@ -116,7 +123,7 @@ int main(int argc, char *argv[])
  mesh.UniformRefinement();
  mesh.SetCurvature(2);
  }
  - mesh.EnsureNCMesh(true);
  + mesh.EnsureNCMesh(nc_simplices);
  // 6. Define a parallel mesh by partitioning the serial mesh.
  // Once the parallel mesh is defined, the serial mesh can be deleted.
  