Kokkos: Change Kokkos::Threads initialization to default the asynchronous threadpool feature to 'off'.
STK_IO: Add spyhis test; clean up output

(From Sierra)
IOSS: Add DOUBLE as synonym for REAL in Ioss::Field types

(From Sierra)
IOSS: Clean up heartbeat output formatting somewhat...

Added option to specify field separator (default ", ") via FIELD_SEPARATOR property.
Added property "SHOW_TIME_STAMP" true/false to specify whether the timestamp precedes output lines.
Added the "time" field by default as the first (except for optional timestamp) field in the output
.. Can be omitted with the property "OMIT_TIME_FIELD" true/false.

(From Sierra)
IOSS: More readable heartbeat output format

(From Sierra)
IOSS: Fix field width setting for multi-component fields

(From Sierra)

Build/Test Cases Summary
Enabled Packages: SEACASIoss
Disabled Packages: Panzer,PyTrilinos,SEACASExo2mat,SEACASMat2exo
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=21,notpassed=0 (22.47 min)
3) SERIAL_RELEASE_SS => passed: passed=22,notpassed=0 (23.56 min)
Other local commits for this build/test group: a02c080, 10825f3, 7899221, 018bbfb
MueLu: limit row width for processor map printout
Tpetra: Lesson03: Fixed compiler warning (unused variable)

Build/Test Cases Summary
Enabled Packages: Tpetra
0) MPI_DEBUG => passed: passed=65,notpassed=0 (5.28 min)
1) SERIAL_RELEASE => passed: passed=50,notpassed=0 (6.10 min)
Ifpack2: fix likely bug in test matrix generator

The tri-diagonal matrix generator was not producing any matrix stencil overlap at processor
boundaries.  I strongly suspect this is not what was intended.

The generator was using Tpetra::Map::getMinGlobalIndex() [getMaxGlobalIndex] to
detect the smallest [largest] matrix row GID.  However, these calls return the max *on the processor*.
The correct call is Tpetra::Map::getMinAllGlobalIndex() [getMaxAllGlobalIndex], which the max [min]
over all processors.
Ifpack2: describe methods for OverlappingRowMatrix

describe() and description() were missing, so I added them.
Ifpack2: replace another getMinGlobalIndex

with getMinAllGlobalIndex()
Ifpack2: another unit test for Additive Schwarz

This test attempts to verify that transfers to and from subdomains in Additive Schwarz are correct.

It creates a global vector g populated with GIDs:  g(i) = A->getRowmap->getGlobalElement(i).
An (AS + mock subdomain solver) preconditioner is created and applied to g.  The mock subdomain
solver Ifpack2::SolverForTesting simply copies x to y, where A(i)y = x is the subdomain system to
be solved.  Any overlap can be used, with or without rcm, but the combine mode must be Tpetra::Zero.

In theory, if transfers to and from the subdomains are correct, then g'=g.
Ifpack2: subdomain solver for testing only

This commit enables a subdomain solver in Factory to testing purposes.

The test solver simply copies the values of the right-hand side to
the solution vector.  It's only intended to be used in unit testing
of the Additive Schwarz method.

It's not guarded by ifdefs because I want it to be tested nightly.
Ifpack2: adding another testing matrix generator

This generator duplicates the original generator in which the column map
is the same as the row map.  I do this so that a parallel ILUT unit test
produces the same results as before.  Otherwise, the solution is
approximate because it's running AS + ILUT.
Ifpack2: unit test updates to AS

Improved Test1 so that it tests for the proper action of overlap.  Added
a few helpful messages and did some minor cleanup.
Ifpack2: RILU(k) unit test updates.

This commit disables the tests in parallell.

Without Additive Schwarz through Ifpack2::Factory, RILU(k) can only run
in serial.  These tests were passing only because the matrix was created
such that the column map and row map are the same.  With a basic
tridiagonal matrix where this isn't true, the tests fail.

If RILU(k) is rewritten to use LocalFilters (like ILUT now has), then
these tests can be reactivated for parallel.
Ifpack2: fixing ETI problem
Ifpack2: rename SolverForTesting

Renaming SolverForTesting to IdentitySolver.  The latter is more
accurate, as it just applies the identity matrix.
Ifpack2: fixing conversion to uppercase

I didn't understand the previous code, and it was producing CAMEl case.
So I switched to a much cleaner standard library approach.
Ifpack2: making IdentitySolver work with AS

Now inherits from Details::CanChangeMatrix.