First attempt at hooking in line smoothing capabilities
Store submesh information for blocks, nodesets, and sidesets.
Provide an interface to recover this information.
Kokkos: Consolidate, simplify, and improve implementation of Cuda parallel_reduce and parallel_scan.
SEACAS: blot - fix caption/legend input reading

(From Sierra)

Build/Test Cases Summary
Enabled Packages: SEACASBlot
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=3,notpassed=0 (1.41 min)
3) SERIAL_RELEASE_SS => passed: passed=5,notpassed=0 (1.22 min)
MueLu: RAP factories: cleaned up print outs for transfer factories
Ifpack2: ugly hack in setParameters to deal with const ParameterList

Originally, setParameters made a non-const copy of the provided
parameter list. The problem with that is that application has no way of
knowing which provided parameters are being used as printing out
parameter list results in [unused].

Note: the behaviour is now similar to that of Chebyshev. If someone
properly fixes this, he would also need to fix Chebyshev::setParameters.
MueLu: added skeleton verbosity level

For testing purposes, it is useful to monitor the construction of
Hierarchy while not printing out minor details. This patch introduces a
new verbosity level called "Test". This level is used only in few
places, specifically in FactoryMonitor and Factory. Every Build method
contains FactoryMonitor and therefore dumps into this level. Every
CallBuild method prints out Factory parameters into this level. This
way, we print out the sequence of called Build methods, and for each
Build method we print out all parameters used in it. This relies on the
validation framework.
MueLu: updated smoothers to work with standard parameter list framework

All smoothers had their own paramList_. Now they use GetParameterList()
and SetParameterList() from ParameterListAcceptor. This allows us to
print smoother parameters in the Test mode.
MueLu: EasyInterpreter: cleaned up pre- and post-smoothers
MueLu: SmootherF: added null rcp check

We did not check for the case when both pre- and post- smoothers are
null, resulting in segfaults.
MueLu: fixed parameter handling in smoothers

When I moved smoothers to use ParameterListAcceptors, I forgot that we
pass those parameters to TPLs, possibly including factories. For
instance, we could pass ("A", *) to Ifpack2 setParameters which properly
threw an error there.
Fixed that by removing any factories from lists we pass to TPLs. Not
perfect, but works.
Fixed edge case in Tpetra::MultiVector::offsetView(NonConst).

Thanks to Deaglan Halligan for finding out that Tpetra did not correctly
handle the following edge case.  Given a Tpetra::MultiVector X,
partition it into row blocks [X1; X2] (Matlab notation) using offsetView
(or offsetViewNonConst).  The sum of the local number of rows in X1 and
X2 equals the local number of rows in X, but either X1 or X2 might have
a zero number of local rows.  Both of these cases should be legal.
However, Deaglan found that the case where X2 has zero rows made
Kokkos::MultiVector::offsetView(NonConst) throw an exception.

The problem was that the methods in Kokkos::MultiVector did not allow a
row offset just after the last local row, even though this is valid when
the number of rows in the view is zero.  This commit fixes exactly this
case.  It also adds a unit test in Tpetra to exercise both cases (X1 has
zero rows, or X2 has zero rows).

Build/Test Cases Summary
Enabled Packages: KokkosClassic, Tpetra
0) MPI_DEBUG => passed: passed=80,notpassed=0 (7.99 min)
1) SERIAL_RELEASE => passed: passed=65,notpassed=0 (9.93 min)
Tpetra: MultiVector: Improved public docs of offsetView(NonConst).

I improved the public documentation of offsetView(NonConst), and added a
code example.  I also explained the edge case that I fixed in my last
commit (thanks to Deaglan Halligan for pointing it out).

Build/Test Cases Summary
Enabled Packages: Tpetra
0) MPI_DEBUG => passed: passed=58,notpassed=0 (5.22 min)
1) SERIAL_RELEASE => passed: passed=45,notpassed=0 (6.56 min)
changed line smoother input so that it now requests the number of nodes
in the z direction as opposed to the number of elements
NOX: Added condition number monitoring to anderson acceleration

Holding onto history with bad initial guesses can slow down convergence, so there is now an option to monitor the condition number of the R matrix and drop history until the condition number is below a chosen tolerance.  Needs more testing...
NOX: Added a delay option to the start of anderson acceleration

If there is a really bad initial guess, holding the first few solutions in the history of the acceleration matrix can actually slow down convergence.  To get around this, a delay of the acceleration method can now be turned on where the first few iterations are pure Picard iteration to get closer to a better solution before starting the acceleration.  Capability has been added and a coresponding unit test in place.

Build/Test Cases Summary
Enabled Packages: NOX
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=181,notpassed=0 (37.93 min)
1) SERIAL_RELEASE => passed: passed=181,notpassed=0 (16.19 min)
Other local commits for this build/test group: 13e8eee
NOX: Added safety check for anderson acceleration storage size parameter.

Build/Test Cases Summary
Enabled Packages: NOX
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=181,notpassed=0 (11.01 min)
1) SERIAL_RELEASE => passed: passed=181,notpassed=0 (2.19 min)
Kokkos: Adding support for local/reordered GS/SGS.

For all you fans of unnatural ordering out there...
Tpetra: Adding support for local/reordered GS/SGS.

For all you fans of unnatural ordering out there...
Ifpack2: Adding support for local/reordered GS/SGS.

I think this brings Trilinos up to at least 10 different implementations
of Gauss-Seidel...