pq jagged algorithm remodified.
resolved conflict
Merge branch 'master' of software:/space/git/Trilinos
Merge branch 'master' of software:/space/git/Trilinos
MueLu: fix bug in SIMPLE implementation.
reactivate test examples.
MueLu: add option for SIMPLEC to SIMPLE block smoother
Ifpack2: Relaxation: Fixed apply() for alpha != 1.

The apply() method of Ifpack2::Relaxation only worked for alpha == 1
and beta == 0, and silently computed the wrong answer in other cases.
I fixed the alpha != 1 case, and added a check for beta != 0 (which is
a bit tricker to implement, so I am deferring that task for now).

Build/Test Cases Summary
Enabled Packages: Teuchos, Kokkos, 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=243,notpassed=0 (4.67 min)
3) SERIAL_RELEASE_SS => passed: passed=224,notpassed=0 (7.95 min)
MueLu: temporarely deactivate SIMPLE test programs due to problems with
SuperLU as SchurComplement solver.
 Fixing the default value for concurrent_part_count to 1 instead of 0.
 Removed the function pqJagged_getNumThreads in MJ of Zoltan2.
 It was not templated and in the header file. I could have created a cpp
 file for it, but did not want to do it for 3 lines of code which could
 easily go into the place where we were calling the function.
Belos: Specialized MultiVecTraitsExt for Tpetra, to fix 64-bit issue.

Travis Fisher pointed out an issue with Belos' Tpetra specialization
for a linear system with over 2 billion rows, for which the number of
rows cannot fit in a (32-bit) int.  The issue popped up in the DGKS
orthogonalization method, but would also show up in ICGS and presumably
in other orthogonalization methods as well.

The MultiVecTraitsExt solution for the >2B rows problem (devised by
Heidi Thornquist, Chris Baker, and myself a few months ago) is only a
generic solution for backwards compatibility.  Solving the >2B rows
issue still requires a nondefault specialization of MultiVecTraitsExt
for the multivector (MV) type.  We had neglected to write that
specialization for Tpetra::MultiVector.  This meant that we had not
actually fixed the >2B rows problem for Tpetra, we had just enabled a
future fix.

This commit is that future fix.  It adds a specialization of
MultiVecTraitsExt which keeps the global number of rows a 64-bit
integer (on 64-bit machines).

Build/Test Cases Summary
Enabled Packages: Teuchos, Kokkos, 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=243,notpassed=0 (6.33 min)
3) SERIAL_RELEASE_SS => passed: passed=224,notpassed=0 (4.47 min)
MueLu: added Zoltan2 interface to repartitioning

For now, we only use pqJagged.
MueLu: set number of processors to be a factor of 4 for Zoltan 2

Zoltan2 pqJagged algorithm performs better when we have at least 2
partitions per direction. This patch calculates the number of processors
based on minRowsPerProcessor, and the adjusts this number down to be a factor
of 4. This should not affect performance much.
MueLu: removed printing out of some extras
Tpetra: CrsGraph: Don't recreate Import / Export if already created.

CrsMatrix's fillComplete with a dynamic graph calls the graph's
makeImportExport method unconditionally.  Since Tpetra doesn't
currently allow column Map changes after fillComplete, and since
the Import and Export start out null anyway, it is not necessary
to recreate the Import and/or Export if the object is nonnull.
This makes CrsMatrix's fillComplete unnecessarily slow when calling
fillComplete for the second time on a matrix with a dynamic graph.
This case might come up in MueLu.

This commit fixes CrsGraph to guard creation of the Import and Export
in CrsGraph's makeImportExport method.  The method now first checks if
the relevant object (the Import or Export) is null before doing any
communication to figure out if it needs to be created.  Thus, if the
Import resp. Export exists already, the method does no communication
and is inexpensive.

Build/Test Cases Summary
Enabled Packages: Teuchos, Kokkos, 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=243,notpassed=0 (9.99 min)
3) SERIAL_RELEASE_SS => passed: passed=224,notpassed=0 (11.16 min)
Fixing quotes on eg/git arguments

When I moved the script to use the python subprocess.Popen() command, it was
no longer necessary to requote --arg=value arguments.  In fact, if you added
any quotation marks, those arguments got ignored.

This has been manually tested with eg/git version 1.7.0.4 and python version
2.6.6.

Hopefully this will be the last issue like this.
Epetra64: Fix recent modifications to Epetra that made
compilation fail in pure 32 and pure 64 bit modes.
Tpetra: CrsMatrix: 2-D storage of values is ArrayRCP of Array now.

CrsMatrix's 2-D storage (for the dynamic profile case) was storing
values as an ArrayRCP<ArrayRCP<Scalar> >.  This has 80 bytes per row
overhead (not counting the actual values).  I changed this to use an
ArrayRCP<Array<Scalar> > instead, which only has 24 bytes per row
overhead.  (Note that these memory overheads only affect the "high
water mark" of pre-fillComplete storage.  Post-fillComplete storage
uses a 1-D layout which does not have these per-row overheads.)
This required changing CrsGraph as well, since allocation of 2-D
storage is tied to the graph.  This optimization may also improve
performance of insertion into a sparse matrix with dynamic profile.

None of these changes affect the public interface of either CrsMatrix
or CrsGraph.  2-D storage is an implementation detail of both of these
classes.

This commit completes the optimization Eric Phipps implemented a few
weeks ago, of using ArrayRCP<Array<GlobalOrdinal> > instead of
ArrayRCP<ArrayRCP<GlobalOrdinal> > for 2-D storage of column indices
in CrsGraph.

Build/Test Cases Summary
Enabled Packages: Teuchos, Kokkos, 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=243,notpassed=0 (5.00 min)
3) SERIAL_RELEASE_SS => passed: passed=224,notpassed=0 (3.54 min)
Removed warning
MueLu: add GetValidParameterList routine to CoarseMapFactory