MueLu: reverting EI commits

reverting 45fd617
reverting d0af8b2
reverting f7f42fa
reverting aad02a2
EpetraExt: Add using std::{cout,endl} in BTF directory. Bug 5956.

Applying the patch suuplied by Gary Hennigan.
SEACAS: algebra - permit adding a timestep onto a file with no timesteps, equation uses constants or coordinates

(From Sierra)
SEACAS: update changes file with latest algebra commit

(From Sierra)
EXODUS: Eliminate bad error return when requesting nodal variable on empty mesh

(From Sierra)

Build/Test Cases Summary
Enabled Packages: SEACASAlgebra, SEACAS, SEACASExodus
Disabled Packages: Panzer,PyTrilinos
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=120,notpassed=0 (25.70 min)
3) SERIAL_RELEASE_SS => passed: passed=122,notpassed=0 (26.21 min)
Other local commits for this build/test group: a3f4e80, e5b0ca8
Adding option --test-categories (Trilinos #5952)

This option is needed to allow a user to run a larger set of tests than just
the BASIC tests.  It is fine if people want to run *MORE* tests than just
BASIC tests.  That is their business.  This is actually needed for CASL work
(see Trilinos #5952).

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=109,notpassed=0 (3.20 min)
1) SERIAL_RELEASE => Test case SERIAL_RELEASE was not run! => Does not affect push readiness! (-1.00 min)
Tpetra: RowMatrix now inherits from SrcDistObject.

This is the final step in getting RowMatrix to be a valid source of an
Import or Export to a CrsMatrix target.  Everything else (making
RowMatrix implement Packable, and making CrsMatrix's implementation of
DistObject exploit that) has already been implemented.

I had not done this before because it introduced a "diamond"
inheritance pattern: RowMatrix inherits from SrcDistObject, and
CrsMatrix inherits from DistObject which inherits from SrcDistObject.
I solved this problem by using the standard technique of "virtual
public" inheritance (from SrcDistObject).  This ensures that CrsMatrix
only has one SrcDistObject instance, not two through its parent
classes.  Since SrcDistObject has no data and does not define a
constructor, the parent DistObject of CrsMatrix will still be
initialized correctly, even though its SrcDistObject parent
constructor won't get called.

Build/Test Cases Summary
Enabled Packages: KokkosCore, KokkosClassic, KokkosCompat, Tpetra, Belos, Ifpack2, Xpetra, Amesos2, Zoltan2, 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=183,notpassed=0 (4.49 min)
3) SERIAL_RELEASE_SS => passed: passed=164,notpassed=0 (23.69 min)
Tpetra: CrsMatrix: Improved public documentation.
Kokkos: Row subview of rank-2 layout-right array.
Piro: Made observation in Thyra solvers more consistent

The observation in NOXSolver used to be performed after the computation
of the sensitivities, which was inconsistent with the behavior of the
LOCA and Rythmos solvers. For these, the two steps are naturally
executed in the opposite order (first the observation(s), then the
evaluation of sensitivities at the terminal point). The present commit
fixes that anomaly.

In particular, following the correct ordering can be of paramount
importance whenever performing an observation does have observable
side-effects.
Tpetra: don't store zeros in mat mat product

This commit adds a check for whether the current entry of the left
matrix is zero. If it is, don't bother computing and don't store
the zero value.

This does change the matrix graph, so reuse could be problematic.
However, this reduces storage by about 2x in the first coarse
grid of a MueLu hierarchy.

Build/Test Cases Summary
Enabled Packages: Tpetra
Disabled Packages: MOOCHO
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=618,notpassed=0 (27.58 min)
1) SERIAL_RELEASE => passed: passed=560,notpassed=0 (11.82 min)
2) MPI_SS_DEBUG => passed: passed=475,notpassed=0 (23.40 min)
3) SERIAL_SS_DEBUG => passed: passed=428,notpassed=0 (16.95 min)
Tpetra: Added missing LocalMatOps template parameter to one line.
Xpetra/MueLu: Added missing LocalMatOps template parameter to a number of function
calls where the default LocalMatOps was being assumed.

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) INTEL_DEBUG => passed: passed=41,notpassed=0 (1.36 min)
Other local commits for this build/test group: 87a3e73
Don't want or need these right now.
Adding --min-cmake-version option and other options

VERA requires CMake 2.8.5 so now TriBITS projects can speicalize this.

Also fixed a few other issues as well found by Mark Baird.
Forgot to regenrate TrilinosBuildQuickRef for changes to template

A few small issues were resolved to the template and these files just needed
to be regenerated.
SEACAS: epu - better error detection and reporting

(From Sierra)

Build/Test Cases Summary
Enabled Packages: SEACASEpu
Disabled Packages: Panzer,PyTrilinos
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.58 min)
3) SERIAL_RELEASE_SS => passed: passed=5,notpassed=0 (1.45 min)
MueLu: example XML deck for one-level method
KokkosContainers: reduce thread divergence in insert and mark_pending_delete

1 clean up unordered_map namespace
2 create node_atomic struct
3 use node_atomic for hashes instead of raw uint64_t
4 use node_atomic::invalid_next instead of 0 in code
5 unordered_map changed invalid_next from 0u to 0xFFFFFFFFu
6 changed unordered_map failed_insert to a bool
7 unordered map get nodes through a function call
8 allocate nodes in blocks, protect each block with an atomic int
  counting the number of useded nodes in the block
9 each node block has an atomic int to count the number of failed
  inserts -- reduces the serialization in the failure case so that
  all threads do not try to increment the same atomic at the same time.
  Improved performance of cuda test with failed inserts by 100x
  Host was unaffected

TODO:
  store count of node states on the device to reduce the number of
  parallel_reduce calls to get size, capacity, etc

  implement deep_copy and HostMirror of unordered_map

  performance test the unordered_map
Intrepid MiniTensor: Specialized storage so that it accepts both static
and dynamic options.