Changed semicoarsening so that it now works with some empty processors.
Add command line args.  Simple positional parsing.
Currently only supports 2 ranks.  Print a message and abort if there are not exactly 2 ranks.

Build/Test Cases Summary
Enabled Packages: Trios
0) MPI_DEBUG => Skipped configure, build, test due to no enabled packages! => 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 => passed: passed=26,notpassed=0 (2.96 min)
Don't print result message if the number of ops is 0.

Build/Test Cases Summary
Enabled Packages: Trios
0) MPI_DEBUG => Skipped configure, build, test due to no enabled packages! => 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 => passed: passed=26,notpassed=0 (2.96 min)
Allowing for preconditioner parameters for the (1,1) and (2,2) blocks to be
passed in as separate sublists.
Tpetra: BlockCrsMatrix: Fixed applyBlock.

Tpetra::Experimental::BlockCrsMatrix now implements applyBlock
correctly.  I added a test to verify this, for the special case of alpha
= 1 and beta = 0 and a single vector.  The test also exercises the
class' getLocalRowView and replaceLocalValues methods, which work
correctly.
Tpetra: BlockCrsMatrix: applyBlock works for general alpha and beta.

I added a test for applyBlock in Tpetra::Experimental::BlockCrsMatrix
for general alpha and beta, for a single vector.  It passes.
Tpetra: BlockCrsMatrix: applyBlock works for multiple vectors.

I added a test for applyBlock in Tpetra::Experimental::BlockCrsMatrix
that exercises multiple vectors (right-hand sides), both for the special
case of alpha = 1 and beta = 0, and for general alpha and beta.  It
passes.
Tpetra: BlockCrsMatrix: apply works.

I added a test for apply in Tpetra::Experimental::BlockCrsMatrix.  It
exercises multiple vectors (right-hand sides), both for the special case
of alpha = 1 and beta = 0, and for general alpha and beta.  It also
incidentally tests whether getMultiVectorView (for BlockMultiVector) and
getVectorView (for BlockVector) return views (shallow copies).  The test
passes.

Note that I have not yet implemented the transpose or conjugate
transpose cases of apply or applyBlock.

Build/Test Cases Summary
Enabled Packages: Tpetra
Enabled all Forward Packages
0) MPI_DEBUG => passed: configure-only passed => Not ready to push! (1.52 min)
1) SERIAL_RELEASE => passed: configure-only passed => Not ready to push! (1.52 min)
Other local commits for this build/test group: a1ddffd, 103765f, 6485735
WARNING: Forced the push!
ML: fix typo in ml_ValidateParameters.cpp

   -  PL->set("projected mode",(double**)0);
  +  PL->set("projected modes",(double**)0);
Tpetra: BlockCrsMatrix: Attempt to fix DistObject (un)pack methods.

The methods compile, but are not currently tested.  For each row to
send / receive, we now pack / unpack all column indices contiguously
first, followed by the blocks' values.  We align the latter to
max(sizeof(Scalar), sizeof(GO)), and pad the whole row's data to
sizeof(GO).

This commit also adds improved error reporting for DistObject pack /
unpack methods.  Local errors get accumulated into an
std::ostringstream.  Currently, users are responsible for collecting
and printing any local errors.  We don't have a test for this yet.

Build/Test Cases Summary
Enabled Packages: Tpetra
0) MPI_DEBUG => passed: passed=69,notpassed=0 (2.34 min)
1) SERIAL_RELEASE => passed: passed=50,notpassed=0 (8.81 min)
Tpetra: Initial checkin to remove serial overhead from MMM.

Cleaning out the rather inefficient row extraction.
Tpetra: Adding clarifying comments
Tpetra: Fixing typo
Tpetra: Fixing another typo

Build/Test Cases Summary
Enabled Packages: Tpetra
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=663,notpassed=0 (74.19 min)
1) SERIAL_RELEASE => passed: passed=587,notpassed=0 (32.03 min)
Other local commits for this build/test group: 4b3027d, aba5a19, 58c7bb3
Use block CG instead of block GMRES for this problem.
Merge branch 'master' of software.sandia.gov:/space/git/Trilinos
Panzer: Adding a setOnetimeDirichletBeta method that uses recursion

This method recurses through a hierarchy of model evaluators (hiarchy
meaning nesting in this context) to set the beta parameter. This assumes
that if the ME is not a panzer specfic ME (Thyra or Epetra) then it
must be a delegator. The method then recurses on the underlying model
evaluator until it finds a panzer specific ME (and succeeds) or can't
find a delegator (and terminates with an error).
Panzer: Adding scaling term to product evaluator

For simplicity and convenience
When constructing two Hierarchies, we need to create separate factories for
each one; otherwise, the multiple call check is flagged and an exception is
thrown in debug mode.
TestHelpers header is not necessary, so I'm removing it. It is causing
build issues on typhon.