MueLu: Utils: we can now read in binary rectangular matrix
MueLu: CoalesceDrop: no need to Input Amalgamation when using lightweight wrap
MueLu: Utils: moved CreateView call into the ML multiply

Xpetra::MatrixMatrix::Multiply already has that call
Xpetra: Matrix: fixed CreateView two matrix variant

The problem was that original matrices did not have StridedMap, we need
to create them, as otherwise A*B would have "stridedMaps" view but the
corresponding range and domain maps would be regular Maps, and not
StridedMap. As such, stuff like GetFixedBlockSize() would throw.
MueLu: fixed a misprint in doxygen
Xpetra: CrsMatrix: added getGlobalRowCopy
Xpetra: BlockedCrsMatrix cleanup
MueLu: Blocked: minor readibility cleanups
MueLu: Utils: fix TwoMatrixMultiplyBlock for matrices with zero blocks
MueLu: BlockedPF: fixing couple issues

1. subBlockP.back()->getRangeMap() is different from rangeMap. The
   first one has no idea that it is part of block matrix, and therefore
   the GIDs in it are "local" (from indexBase to something). It was used
   incorrectly instead of the proper range map.
2. We did not set the blocks to zero in the blocked matrix. By default,
   the BlockedCrsMatrix constructor initializes all blocks to be not
   null.
MueLu: Hierarchy: changed API by swapping second vector with number of iterations
MueLu: Utils: added binary reading to the 2nd version of matrix reader (with maps)
MueLu: Utils: fixed error message
Xpetra: added forward declaration for MapExtractorFactory
MueLu: TentativePF: warnings cleanup
Tpetra: Added Experimental::BlockVector class.

BlockVector is to BlockMultiVector what Vector is to MultiVector.
Internal customers would like to have the simpler Vector interface.
Tpetra: BlockCrsMatrix: Added draft impl of unpackAndCombine.

It's untested, but it compiles.  I just want to get the idea in there
while it's fresh.  I will soon add the corresponding packAndPrepare
implementation.

Build/Test Cases Summary
Enabled Packages: Tpetra
Enabled all Forward Packages
0) MPI_DEBUG => passed: configure-only passed => Not ready to push! (1.62 min)
1) SERIAL_RELEASE => passed: configure-only passed => Not ready to push! (1.93 min)
Other local commits for this build/test group: 0253bad
WARNING: Forced the push!
Tpetra: BlockCrsMatrix: Added "local error" flag for DistObject errors.

I would like to help Tpetra handle local errors in global communication
operations more safely and consistently.  This commit adds an attempt to
do so, in the new Tpetra::Experimental::BlockCrsMatrix class.  I've
added a "local error" flag, which is set any time one of the DistObject
methods encounters an error that is local to the calling process.  This
flag is reset on successful completion of checkSizes().  Currently,
users are responsible for checking this flag's consistency across
processes.  I also would like to come up with a solution for error
reporting that doesn't make objects too heavyweight (as that would
interfere with view semantics), but haven't started that yet.

Build/Test Cases Summary
Enabled Packages: Tpetra
Enabled all Forward Packages
0) MPI_DEBUG => passed: configure-only passed => Not ready to push! (1.62 min)
1) SERIAL_RELEASE => passed: configure-only passed => Not ready to push! (1.93 min)
WARNING: Forced the push!
MueLu: minor simplification in SIMPLE block smoother
MueLu: add new blocked smoothers for saddle point systems:
- indefinite blocked diagonal smoother
- inexact Uzawa smoother