Adding an RAP factory. RAPShiftFactory computes coarse matrices for
a stiffness matrix K and mass matrix M, then recombines them to form
A = K+aM. Useful when you want to change the shifting variable "a"
at every level.

Also, Factory Manager had a double instead of a scalar for input to
a smoother parameter.

Build/Test Cases Summary
Enabled Packages: MueLu
Enabled all Forward Packages
0) MPI_DEBUG => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
1) SERIAL_RELEASE => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
2) MPI_DEBUG_SS => passed: passed=80,notpassed=0 (1.39 min)
Panzer: Cleaned up rcp circular dependencies

This was nasty.  The Teuchos::sublist nonmember function stores a post-destroy on the base sublist.  The physics blocks were storing ther own sublist for cloning on side cell topologies inducing a circular reference to the stkIOResponse object in the observer factories that were set in the parameter list.

This commit removes the observer factories from the input parameter list.  Users must register them directly on the ME factory instead of setting them in the input parameter list.  This is a better way to do things anyway.

This commit additionally reverts the temporary patch fix for this issue:
Revert "Panzer: Fixed RCP circular dependency issue"
This reverts commit 21bc4769720f4af37587a70251977338ada9d285.
Fixing print message when pull fails

The script was reporting that files were pulled when a pull failed (because
'Already up-to-date' was missing).  This was confusing but the script still
looked at the return value when deciding that a pull failed so it still did
the right thing.

With this change, I have fixed the output to show the correct status of each
pull and added unit tests to demonstrate and production the expected output.

Build/Test Cases Summary
Enabled Packages: TrilinosFramework
Disabled Packages: CTrilinos,ForTrilinos,PyTrilinos,Didasko,Mesquite,Phdmesh,Pliris,Claps
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=102,notpassed=0 (1.79 min)
1) SERIAL_RELEASE => passed: passed=102,notpassed=0 (1.11 min)
Allowing ${PROJECT_NAME}_IGNORE_MISSING_EXTRA_REPOSITORIES to be overridden

I set this to allow for easier local testing of automated builds.  This way, I
don't need to clone all of the extra repos that are set in the
ExtraRepositoriesList.cmake file.  I did this to simplify debugging of issues
with a VERA build (that has like 22 extra repos now total of which I don't
have them all cloned).
Specifically excluding ThreadPool package (VRI Kanban #2852)

Dispite turning off ThreadPool for VERA-related builds in Trilinos commit
23639e7, the logic in TribitsCTestDriverCore.cmake was explicitly enabling
ThreadPool because it was not explicitly excluded from the list of implicitly
enabled Trilinos packages.  This was causing ThreadPool to be already set in
the cache and therefore no longer turned off.

This should resolve of disabling TPINode and it gets rid of another implicit
package enabled.  Win win!

Build/Test Cases Summary
Enabled Packages: TrilinosFramework, Teuchos, Tpetra
Disabled Packages: CTrilinos,ForTrilinos,PyTrilinos,Didasko,Mesquite,Phdmesh,Pliris,Claps
0) MPI_DEBUG => passed: passed=254,notpassed=0 (5.61 min)
1) SERIAL_RELEASE => passed: passed=241,notpassed=0 (3.61 min)
Other local commits for this build/test group: 3aa95a4
MueLu: Fixed compiler warnings (signed / unsigned comparisons).
Kokkos: low-level optimizations for local sparse mat-vec kernel.

Thanks to Eric Phipps for suggesting some low-level optimizations
for sparse mat-vec, including avoiding reading the ptr (row offsets)
array twice, and ensuring that inner loop bounds are const.

Build/Test Cases Summary
Enabled Packages: KokkosClassic, MueLu
0) MPI_DEBUG => Test case MPI_DEBUG was not run! => Does not affect push readiness! (-1.00 min)
1) SERIAL_RELEASE => Test case SERIAL_RELEASE was not run! => Does not affect push readiness! (-1.00 min)
2) MPI_DEBUG_SS => passed: passed=56,notpassed=0 (3.73 min)
3) MPI_RELEASE_SS => passed: passed=56,notpassed=0 (9.97 min)
Other local commits for this build/test group: d467c25
Galeri: Fix installation testing issues

A few files were being installed into the flat include directory, but were being
referenced by their relative path when being included. This fixes the includes
to just reference the file and add the appropriate paths to the compile line.
Amesos: Fix installation issue

The SuperLU tests were always being enabled. This is a general issue more than
just an installation issue, but since we have superlu for most of our nightly
testing this was only caught in the installation test. The solution was to
conditionally add the superlu tests.

Build/Test Cases Summary
Enabled Packages: Amesos, Galeri
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=663,notpassed=0 (78.18 min)
1) SERIAL_RELEASE => passed: passed=632,notpassed=0 (32.03 min)
Other local commits for this build/test group: 3990d1d
Piro: Fixed detection of missing derivative support

Tightened the requirements on the underlying transient model to match
the implementation of the Rythmos forward sensitivity stepper.
Xpetra: Exposing FusedExport capability.

Build/Test Cases Summary
Enabled Packages: Xpetra
0) MPI_DEBUG => passed: passed=12,notpassed=0 (1.30 min)
1) SERIAL_RELEASE => passed: passed=12,notpassed=0 (2.38 min)
Tpetra: Symm. Gauss-Seidel now omits Import between fwd & bkwd sweeps.

Tpetra::CrsMatrix implements Ifpack2's Gauss-Seidel and Symmetric
Gauss-Seidel, which is why this commit changes Tpetra instead of
Ifpack2.  However, this commit will affect the behavior of Ifpack2's
Gauss-Seidel and Symmetric Gauss-Seidel (in the Relaxation class).

Aztec's implementation of Symmetric Gauss-Seidel does _not_ do an
Import between the forward sweep and the backward sweep.  This is
correct if one considers SGS as a subdomain solver.  Thus, this
commit changes Ifpack2's SGS implementation to behave more like
Aztec's.

Note that Aztec reorders the matrix by default (using RCM ordering),
whereas Ifpack2 does not.  Thus, Aztec and Ifpack2 do not currently
implement exactly the same SGS by default.  However, this commit
will at least make the per-iteration performance more commensurate.

Build/Test Cases Summary
Enabled Packages: Tpetra, Ifpack2
0) MPI_DEBUG => Test case MPI_DEBUG was not run! => Does not affect push readiness! (-1.00 min)
1) SERIAL_RELEASE => Test case SERIAL_RELEASE was not run! => Does not affect push readiness! (-1.00 min)
2) MPI_DEBUG_SS => passed: passed=71,notpassed=0 (3.58 min)
3) MPI_RELEASE_SS => passed: passed=71,notpassed=0 (8.95 min)