MueLu: Fixing data writing with subcomms

Must check whether underlying pointer is nonnull.  Processors can drop out
of the communication pattern.

Thanks very much make and cmake for wasting 2 hours of my time with a phantom bug.

Build/Test Cases Summary
Enabled Packages: MueLu
Disabled Packages: MOOCHO
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_SS_DEBUG => passed: passed=86,notpassed=0 (10.17 min)
Kokkos: Default constructor of compile-time or runtime dimensioned rank-1 view properly zeros the runtime dimension.
Panzer: Including Tpetra blocked assembly
Panzer: Adding construction of element cascade in STK

This builds the elements and local subcell ids and dimensions that
touch a particular side. This will be useful for the high order surface
flux calculations.
Panzer: Using "cascade" work to implement volumetric sideset responses

This involved small changes to the subcell sum evaluator and also
changes to some of the unit tests. The workset construction for side
sets with volumetric assembly now defaults to the so called element
cascade, which adds a large number of elements into the workset with
each subcell corresponding to a seperate workset.
Panzer: Fixing model evaluator to properly support dgdx

Previous implementation resulted in an exception.
Kokkos/UQ : Replace artificial uq tensors with legendre polynomial expansion tensors and remove artificial tensors.  Add sparse tensor test for Cuda using atomic_fetch_add functionality.
Trilinos: Update flat header directory

Updating the flat header directory to reflect changes in Trilinos and the needed
packages

(From Sierra)
IOSS: Add missing serialize io call

(From Sierra)

Build/Test Cases Summary
Enabled Packages: SEACASIoss
Disabled Packages: Panzer,PyTrilinos,MueLu
Enabled all Forward Packages
0) MPI_DEBUG => passed: skipped configure, build, test due to no enabled packages (0.10 min)
1) SERIAL_RELEASE => passed: skipped configure, build, test due to no enabled packages (0.10 min)
2) MPI_DEBUG_SS => passed: passed=21,notpassed=0 (6.29 min)
3) SERIAL_RELEASE_SS => passed: passed=22,notpassed=0 (6.35 min)
Other local commits for this build/test group: 8a406fd
Fixed bug with global ordinal of long
Tpetra: Import: Added method to compute union of two Import objects.

If two Import object have the same source Map, then the _union_ of the
two objects is defined as the Import that would result from the union
of their (possibly different) target Maps.  The union of two Maps is
the Map whose GID list on each process is the union (in a possibly
different order) of the two Maps' GID lists on that process.

Computing the union of two Import objects is an important part of
adding two sparse matrices together, if both of them have column Maps
and Import objects.

This initial implementation is not optimized, but it works.  This
commit also includes a unit test for the union operation.

Build/Test Cases Summary
Enabled Packages: Tpetra, Belos, 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=125,notpassed=0 (3.21 min)
3) SERIAL_RELEASE_SS => passed: passed=110,notpassed=0 (0.31 min)
4) MPI_RELEASE_SS => passed: passed=125,notpassed=0 (2.15 min)
Removing MueLu::ShiftedLaplacian from explicit instantiation. Sorry for
causing all those failed tests.