[Mesquite] add prefix "Mesquite_" for all mesquite headers

As described in bug #6112, not prefixing the headers creates problems since
Trilinos installs all headers of all packages flat into one folder. To avoid
clashes, packages have to prefix their header files with a unique identifier,
for example the package name.

This commit does that for Mesquite and thereby fixes bug #6112.

To keep headers and sources in sync, the source files are also prefixed.
[Mesquite] add TODO about autotools and the header prefix
[Mesquite] wrong format specification

Build/Test Cases Summary
Enabled Packages: Mesquite
Disabled Packages: Pamgen,Intrepid
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=38,notpassed=0 (2.49 min)
1) SERIAL_RELEASE => passed: passed=34,notpassed=0 (1.11 min)
Other local commits for this build/test group: 59f1644, 730612a
MueLu: fetch old MueLu tutorial python script for expert xml files
MueLu: update xml template files to recent changes in parameter namings
Anasazi: TraceMin Tpetra test: Fixed warnings; simplified notation.

I fixed the signed-unsigned integer comparison warnings.  I also
removed all references to the (KokkosClassic) Node type, since the
test only uses the default Node type, and all public Tpetra classes
have a default value for the Node template parameter.
Anasazi: Reenabled all but one of the TraceMin tests.

Around 25 Aug 2014, all TraceMin tests but one started failing.  They
failed by running forever without converging.  The tests in question
were attempting to compute the smallest eigenvalues; the test that
computed the largest eigenvalues passed.  Thus, I figured that
something was wrong with Tpetra, not with TraceMin.  I eventually
deduced that I had gotten something wrong with the implementation of
Tpetra::deep_copy: View of the target of the deep_copy operation got
invalidated (which is wrong).  I've since pushed a fix to Tpetra.

This commit reenables all the TraceMin tests that pass.  This includes
two of the three tests that exercise computing the smallest
eigenvalues.  The only test that fails is the one that uses
block-diagonal preconditioned MINRES for the inner solver.  As before,
it runs for a long time without converging.  I have left that test
disabled for now.

Build/Test Cases Summary
Enabled Packages: KokkosCore, KokkosContainers, KokkosCompat, KokkosLinAlg, KokkosMpiComm, KokkosAlgorithms, Tpetra, Belos, Ifpack2, Zoltan2, Amesos2, Anasazi
Disabled Packages: FEI,Moertel,MOOCHO,NOX,Rythmos,STK
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 => FAILED: passed=312,notpassed=1 => Not ready to push! (8.39 min)
3) SERIAL_RELEASE_SS => passed: passed=287,notpassed=0 (1.41 min)
4) MPI_DEBUG_KOKKOS_REFACTOR => FAILED: passed=321,notpassed=1 => Not ready to push! (9.16 min)
5) SERIAL_RELEASE_KOKKOS_REFACTOR => FAILED: passed=294,notpassed=1 => Not ready to push! (1.35 min)
Other local commits for this build/test group: c1b4d56
WARNING: Forced the push!
KokkosLinAlg: Fixed build warnings (signed-unsigned comparison)
KokkosCore: Fixed auto-generated header file to avoid build warning.

Some of the nightly Dashboard tests for Kokkos and the Kokkos refactor
version of Tpetra report build warnings like this:

.../packages/kokkos/core/src/KokkosCore_config.h:13:1: warning: "KOKKOS_USE_CUDA_UVM" redefined

I traced the issue to the test-build configurations in
Trilinos/cmake/ctest/drivers/perseus/.  These actually define
KOKKOS_USE_CUDA_UVM twice: once by setting CUDA_NVCC_FLAGS, and once
through CMake (by setting the CMake BOOL option Kokkos_ENABLE_Cuda_UVM
to ON).  This should be redundant, isn't if some code does not yet
include the automatically generated header file KokkosCore_config.h
(or some header file that includes it).  Rather than change the build
script and risk weird test behavior, I changed the automatically
generated header file so that it would prefer using a previous
definition of KOKKOS_USE_CUDA_UVM, if that already exists.  This
should also let users continue defining it as a command-line argument.

Build/Test Cases Summary
Enabled Packages: KokkosCore, KokkosCompat, KokkosContainers, KokkosLinAlg, KokkosAlgorithms, KokkosMpiComm, Tpetra
Disabled Packages: FEI,Moertel,MOOCHO,NOX,Rythmos,STK
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_KOKKOS_REFACTOR => passed: passed=86,notpassed=0 (8.38 min)
3) SERIAL_RELEASE_KOKKOS_REFACTOR => passed: passed=64,notpassed=0 (8.80 min)
Other local commits for this build/test group: 29590c0
Tpetra: fix some shadow warnings

Tpetra_Vector_def.hpp:173: warning: declaration of 'mag_type' shadows a member of 'this'

Build/Test Cases Summary
Enabled Packages: Tpetra
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=550,notpassed=0 (35.40 min)
1) SERIAL_RELEASE => passed: passed=502,notpassed=0 (16.94 min)
 The hash code in Zoltan2 Identifier traits was returning a -ve
 number as (((std::numeric_limits<int>::max() + 1) * -1)) is -ve.
 Add max -ve instead of multiplying by -1.
 A better way to make the -ve int to a positive int for hash code
 in Zoltan2 traits.
 Ported the change to avoid wraparound for -ves to the hashCode for
 pairs as well. Treating pair as an identifier is strange.
 Teuchos Hash Utils's hash function is not a true hash at all.
 For all types it returns the i/p typecasted as
 an int. It used a mod of that with the capacity of the array
 which can end up being -ve indices on arrays. This fixes the -ve
 number problems by only *slightly* being smarter for types that
 are larger than ints by adding the bits into int size chunks
 and ensuring the return value is never -ve.
 Still this is a poor hash, we should deprecate its usage for all
 performance reasons.
 More changes realted to the -ve ints coming out of Teuchos Hash.

Build/Test Cases Summary
Enabled Packages: TeuchosCore, Zoltan2
Enabled all Forward Packages
0) MPI_DEBUG => FAILED: passed=1432,notpassed=2 => Not ready to push! (46.46 min)
1) SERIAL_RELEASE => passed: passed=1349,notpassed=0 (36.93 min)
Other local commits for this build/test group: 7cf0143, 02cd7fc, 04b4023, 6e80e00
WARNING: Forced the push!
Kokkos: Adding functor work argument tags to execution policies.

The final template argument of an execution policy is the deduced execution space to support execution space partial specializations.
Kokkos: Execution policies must have deduced execution space as a final template argument to allow partial specializations.
Kokkos: Implement TeamPolicy with work function argument tags.  Unit testing in progress.
Ifpack2: Temporary fix for MueLu link errors.

I'm getting link errors in MueLu, when the Kokkos refactor version of
Tpetra is disabled, but the default Node type is one of the new Kokkos
wrapper Nodes.  In this case, the Node type is
Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::OpenMP>.

I fixed this by adding explicit instantiations for MatrixType =
Tpetra::RowMatrix to the explicit instantiation macros for each class
that was giving a link error.  This may not be complete coverage, but
it should at least address the issue in MueLu.

The _good_ thing about the link errors is that MueLu is using Ifpack2
correctly!  Our goal is only to have to do explicit instantiations for
MatrixType = Tpetra::RowMatrix.  If the preconditioner needs to access
the input matrix as a Tpetra::CrsMatrix or some other subclass of
Tpetra::RowMatrix, the preconditioner should still take the input
matrix as a RowMatrix, and do a dynamic cast to check its run-time
type and get to the interface that the preconditioner wants.
Downstream packages and users should consider the MatrixType =
Tpetra::CrsMatrix explicit instantiations to exist only for backwards
compatibility; they may go away at any time.

Build/Test Cases Summary
Enabled Packages: KokkosCore, KokkosContainers, KokkosCompat, KokkosLinAlg, KokkosMpiComm, KokkosAlgorithms, Tpetra, Belos, Ifpack2, Zoltan2, Amesos2, Anasazi, MueLu
Disabled Packages: FEI,Moertel,MOOCHO,NOX,Rythmos,STK
Enabled all Forward Packages
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 => FAILED: build failed => Not ready to push! (25.68 min)
3) SERIAL_RELEASE_SS => FAILED: build failed => Not ready to push! (32.80 min)
4) MPI_DEBUG_KOKKOS_REFACTOR => FAILED: build failed => Not ready to push! (21.21 min)
5) SERIAL_RELEASE_KOKKOS_REFACTOR => FAILED: configure failed => Not ready to push! (2.39 min)
WARNING: Forced the push!
[Mesquite] fix a few unit tests in testSuite/unit/

The unit tests testSuite/unit/ are only activated if explicitly requested via
the CMake varialbe Mesquite_ENABLE_CppUnit. Consequently, the checkin-test
script didn't catch compile errors here. As a result, quite a few tests are
broken due to apparently missing headers.

This commit removes those tests from the suite, fixes the others, and adds a
respective TODO note.

Build/Test Cases Summary
Enabled Packages: Mesquite
Disabled Packages: Pamgen,Intrepid
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=38,notpassed=0 (1.95 min)
1) SERIAL_RELEASE => passed: passed=34,notpassed=0 (0.78 min)