migration first draft
Intrepid MiniTensor: Added constructor for 2nd-order tensor from 4th-order
tensor.
Teuchos: CommHelpers: Added specializations for unsigned integer types.

Tpetra Import and Export initialization depend on sending and receiving
data of type size_t.  Other Trilinos packages might also.  Teuchos did
implement sending and receiving size_t and other unsigned integer
types, but did not have specializations of functions like send() and
ireceive() for these types.  The specializations are faster because they
bypass Teuchos' generic serialization code and use built-in MPI_Datatype
directly.  This commit adds specializations for some communication
methods, for unsigned versions of long long, long, int, and short.

I didn't add specializations for size_t, because size_t is a typedef to
some built-in unsigned integer type which depends on the platform.  The
built-in MPI_Datatype MPI_AINT (corresponding to MPI's typedef MPI_Aint)
is for a signed integer type, so it would be good for ptrdiff_t but not
for size_t.  The logic for mapping size_t to its implementation type is
complicated (sizeof(unsigned long) == 4 and sizeof(size_t) == 8 on
Win64, whereas on most other common operating systems, long and size_t
have the same size).  Thus, I omit this logic in this commit, and just
try to get coverage on Linux and other *nix-like platforms (such as Mac)
for now.  The generic implementation will provide coverage on Win64 for
the functionality, if not for maximum performance.
Tpetra: Distributor: Changed reduceAllAndScatter to use int not size_t.

The reduceAllAndScatter call was communicating arrays of size_t.
This is overkill, since we're adding up {0,1} quantities and the
total can be at most the number of processes in the communicator.
I've changed this to use int instead.

This seems like an insignificant change.  I did it at first because
I thought that the reduceAllAndScatter call was mixing up data of
the wrong types.  It turns out that the call was correct, but it was
still communicating twice as much data as it needed to.
Teuchos: CommHelpers: Specialized reduceAllAndScatter for int,int.

Tpetra::Distributor initialization (computeReceives) uses
reduceAllAndScatter (a wrapper for MPI_Reduce_scatter) to compute each
process' total number of receives when executing the communication plan.

Known performance issues with the generic implementation of reduceAll (a
wrapper for MPI_Allreduce), as observed by the Zoltan2 developers last
year, induced me to write specializations of reduceAll for Ordinal=int
and various Packet types that bypass the generic implementation.  This
fixed the observed performance issues for reduceAll calls.

Since we want Distributor initialization to be as fast as possible, I've
implemented a bypass for reduceAllAndScatter as well.  Distributor only
needs Packet = int, so I have only added that specialization.  It would
be trivial to add other specializations as needed.
Tpetra: Import: Added debug output and new nonmember constructor.

The most important part of this commit is the optional debug output
for Import.  I will use this to help me get rid of the barrier between
receives and sends in Distributor.

I've also added a new nonmember constructor for Import, that takes a
ParameterList as well as the two Maps.  This corresponds to the three-
argument version of Import's (member) constructor.

Finally, I added public documentation of internal data to Import and
Export.
Tpetra: Distributor: Improved documentation of internal data.

Build/Test Cases Summary
Enabled Packages: Kokkos, Tpetra, Belos, Ifpack2, Xpetra, 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=192,notpassed=0 (9.62 min)
3) SERIAL_RELEASE_SS => passed: passed=174,notpassed=0 (15.54 min)
Other local commits for this build/test group: afaf4a4, 2afd05c, f925887b, 6625f3c
Intrepid MiniTensor: Fixed switched indices in filler for components following
Sierra/SM convention.
Synchronization of file writes wasn't working.
Replace fseek with file open/close.
Merge branch 'master' of software.sandia.gov:/space/git/Trilinos
MueLu: CoalesceDropFactory: aggregate dropped statistics across processors
Changes to correctly read a "pattern" matrix-market file
Fixed memory leaks and UMRs
Fixes that allow Zoltan to run with purify.
Bug in purify causes crashes in strcasecmp and strncasecmp.
With CMake variable Zoltan_ENABLE_PURIFY:BOOL=ON, roll-our-own versions
of these functions are substituted for the clib versions.
Merge branch 'master' of software.sandia.gov:/space/git/Trilinos
Fixed memory leak
MueLu: For PDE systems, create correct nullspace

When the user doesn't specify the nullspace, create #nullspace
vectors equal to the number of PDEs.  The ith vector is the e_i unit vector.

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 (2.02 min)
One more fix to enable Zoltan_ENABLE_PURIFY option for work-arounds to purify bugs
Merge branch 'master' of software.sandia.gov:/space/git/Trilinos
Update mpi4py on trilinos-test and trilinos-test2

the mpi4py installation for these machines was not setup correctly. Fixed this
by installing a new version correctly and updating these files to point to the
functional mpi4py. PyTrilinos is still currently disabled for these platforms,
but this should remove one hurdle to getting it running again.