Piro: Fixed abstract base class design

Added virtual destructor.

Prevented copy and assignment until such support is warranted and
enabled properly.
Piro: Extended several interfaces

Introduced potentially meaningful default contructors.
Enabled access to underlying functor.
Piro: Renamed a non-member provider constructor
Piro: Rewrote the constructor-based providers

Replaced strategy-based non-member provider constructors by individual
versions distinguished by their specific names.
Piro: Enforced consistent use of unary_function

Introduced base class to unify creation of adaptable function objects.
Piro: Reordered declarations and definitions
Piro: Changed the default constructor of Provider

By default, a default-constructed Provider now returns null pointers
instead of being left unintialized.

A Provider might still be left uninitialized by passing a null pointer
as the sole constructor argument.
Piro: Added Provider functor adapters

Introduced wrappers for nullary functors and functors accepting
ParameterList references in order to make them conform to the interface
required of Provider Functors, i.e. taking a RCP<ParameterList> as a
sole argument.
MueLu: change output stream for debug information
MueLu: add transfer factories to BlockedRAPFactory
MueLu: use new parameter handling in SchurComplementFactory
Disabling SuperLU for the installation testing

The install for the installation testing isn't built with superlu so building
the testing against it with superlu is causing problems. In the future we will
need to be able to build against more tpls for the installation testing, but for
now we are only doing a very simple build.
Removing RCP hotspots from Ptent factory.

Vtune showed the use of ArrayRCP<ArrayRCP<>> to be a hotspot.  I've reworked the
aggregate to DOF map to use a single RCP, as well as using const references (rather
than RCPs) in inner loops.

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=68,notpassed=0 (8.88 min)
MueLu: always enabling global timer number.

This is very useful for ordering the timers in post-processing.  So if you're timing the code, this should always be enabled.

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=68,notpassed=0 (7.52 min)
MueLu: adjusted spacing so results fit on screen.
removed logic for explicitly instantiating dual-scalar operations; we weren't actually supporting ETI for these, so it was costing processing time and logic for no reason.
macros are still generated (empty, as before), as a placeholder.
modified Vector,MultiVector to instantiate off a different macro, with support for Scalar=int
will finish dev on a gpu-enabled machine.
Tpetra:  CrsGraph:  Fixed 2D index array allocation strategy.

My recent refactor from ArrayRCP< ArrayRCP<> > to ArrayRCP< Array<> >
effectively undid the 2D index array allocation strategy I had put in
earlier.  This fixes it.
Tpetra:  CrsGraph:  Complete refactor of insert[Local|Global]Indices.

Refactored insert[Local|Global]Indices() to eliminate a bunch of extra
ArrayView creations and copies, as well as reduce the number of function
calls.  With how often functions like these are called and how little
actual work they do, little stuff like this really starts to add up.
Tpetra:  Map:  Ported Epetra's last contiguous GID map optimization.

For noncontiguous maps, this incorporates Epetra's search for a
contiguous GID range to reduce the amount of hashing.  This is a common
use case for overlapped maps, and improves GID lookup performance
considerably in those cases.

Build/Test Cases Summary
Enabled Packages: Tpetra
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=652,notpassed=0 (1.68 min)
1) SERIAL_RELEASE => passed: passed=615,notpassed=0 (0.21 min)
Other local commits for this build/test group: 777c51f, 82b49df