MOR: Improved support for non-Ioss discretizations

The so-called "base" discretization is not assumed to be Ioss-based
anymore. In practice however, only Ioss seems to be supported due to the
inconsistent naming of node sets (i.e. mismatched case between Ioss and
STKxD).
 ** SUBSTANTIAL UPDATE TO QCAD **
1) Input file format for QCAD runs has been updated.  Now all types of QCAD simulations (Poisson, Schrodinger, Schrodinger-CI, Poisson-Schrodinger, Poisson-Schrodinger-CI) share a common (single) input file format.  This presents a common interface for QCAD users, and removes complexity from the input file format especially for QCAD's multi-stage solvers.  All of the "special responses" needed to couple different Albany Applications are now added internally.  The input files for each type of simulation are self-contained and no longer reference additional input files.  See examples for format specifics.   **NOTE: if you use QCAD for anything other than semiclassical Poisson or simple Schrodinger calculations, you may want to wait to pull this update until you have time to update your input files. **

2) Input validation is now performed on all input lists.

3) QCAD's examples have been overhauled and re-structured.  Now all of QCAD's examples fall under a single examples/QCAD directory, and regression analysis is performed in all tests.  Tests have been added for all types of QCAD simulations, including those requiring the additional AlbanyCI package (those tests are disabled if AlbanyCI is not installed).

4) The energy/voltage unit used in Poisson problems can now be specified via the input file.

5) QCAD::Solver can now re-direct eigenvalues to responses, so that eigenvalues can be checked using regression tests.

6) QCAD-specific observers have been added which allow cleaner outputting of data to exodus files.  Now eigenvectors can be output as additional nodal exodus fields rather than as the "solution" at different time steps.

7) "Electric Potential" field of the Poisson solver now has the reference potential (Phi_ref) subtracted from it.  This is needed to ensure the correct computation of CI matrix elements.

8) Minor bugs fixed, following from the more rigorous test harness.  Nothing that affected the types of runs people actually use QCAD for though.
QCAD update:
 - removed "Type" as a valid parameter of QCAD responses, as it is no longer used.
 - Schrodinger problem now has a fixed potential field name of "V" (prior to this, the name of the potential field varied to match the name of an imported state).  This is more similar to the Poisson problem, which also has fixed field names that do not vary based on input parameters.
 - removed the "Poisson Coupling" input sublist of the Schrodinger problem.  The parameters that were there are now distributed to the root problem list or the "Potential" sublist.
Minor tweaks to QCAD input files:
  - got rid of unused "Materials" input sublist from schrodinger problem examples, and updated problem's input list validation.
  - changed "EnergyUnitInElectronVolts" --> "Energy Unit In Electron Volts" and "LengthUnitInMeters" --> "Length Unit In Meters" in QCAD input files to follow convention of having spaces between words.
  - finished up incorporating an input-file-specified energy unit (via "Energy Unit In Electron Volts") into Poisson-Schrodinger problems.
Broke cycle of strong references

There was a cycle a strong references involving the Piro solver,
Albany::ModelEvaluator, Albany::Application, AdaptiveSolutionManager,
AdaptiveModelFactory, and the Piro solver again, closing the loop.

One possible solution is to break the above cycle by replacing one
strong (owning) RCP by a weak (non-owning) one. Such a change is always
risky since it can introduce dangling references, and therefore requires
to make an hypothesis concerning the relative lifetimes of the involved
objects.

Here is is assumed that the adaptivity component will not try to
access the Piro solver after the latter has been destroyed.
Bad things may happen if this assumption is violated.
Merged fixed QCAD changes

Restored files:
src/QCAD/evaluators/PoissonDirichlet.hpp
src/QCAD/evaluators/PoissonDirichlet_Def.hpp
src/QCAD/evaluators/PoissonDirichlet.cpp
missing from commits:
a0e2dfad4d35d43466d91f1218dd0ab85f32785a
3948545e29f6d9b23b8febed46ef43717964d72e.
Adding back PoissonDirichlet files... I think I removed these by accident.
Merge branch 'master' of software.sandia.gov:/space/git/Albany

Merged in changes to PoissonDirichlet that I accidentally removed from repository... brilliant.

Conflicts:
	src/QCAD/evaluators/QCAD_PoissonDirichlet.hpp
	src/QCAD/evaluators/QCAD_PoissonDirichlet_Def.hpp
In the Mechanics problem, define the field map string before defining the field names.

This enable us to initialize surf_temperature when there is no heat transfer equation.

Localized diffusion of hydrogen runs now but has not yet been verified.
/src/disc/fmdb/
  added mesh model capability to FMDBMeshStruct

/examples/Heat3DFMDB/
  added mesh model example

/examples/ElastMeshAdapt3D/
  added mesh model example
added tests to test suites
Adding transient term to localized diffusion problem.
Added an optional "Piro Defaults Filename" parameter to QCAD::Solver input files which specifies an xml file that contains default values for the Piro input file sublist.  This allows the QCAD input files to re-use common Piro parameters, and makes the input files considerably shorter.
Add the hydrostatic stress  and source terms in the hydrogen transport problem.
/doc/buildScripts/gahanse/do-cmake-albany-mpi
  added option to enable/disable qcad
Add hydrostatic stress and equilvalent plastic strain terms for the localized hydrogen transport problem
Heat3DFMDB and ElastMeshAdapt3D meshModel examples finished
- Changed name of QCAD Poisson-Schrodinger parameter to be more specific:  "Max Iterations" --> "Max PS Iterations"
- Added initial_guess logic to QCAD::Solver.  Currently, only the Poisson mode makes use of an initial guess.
- Fixed a few issues in QCAD::Solver related to a problems having no (zero) parameter vectors.
- Added "Initial Condition" as a valid sublist of the Problem sublist for QCAD::Solver.
Minor changes for the diffusivity tensor in the hydrogen transport problem.
MOR: Fixed comment