Revert "Apply patch supplied by user Jim Westfall."

This reverts commit 420995dc1a3d9eef85cf211f2241473f41b6a8ef.

Reverting due to this commit causing the ML_MatrixFree_MPI_4 test to fail on
many platforms.
Tpetra: Fixed a couple warnings that Clang 3.2 picked up.

Build/Test Cases Summary
Enabled Packages: Tpetra
0) MPI_DEBUG => passed: passed=56,notpassed=0 (1.14 min)
1) SERIAL_RELEASE => passed: passed=43,notpassed=0 (0.04 min)
Update version to 11.5
Fix version number in release notes
MueLu: Reuse: added Clear function to Level

While the documentation for the KeepType::Final flag stated that it was
cleared during the next setup, it didn't actually happen. Now, with the
addition of the Clear function which does exactly that, we follow the
proper usage.
MueLu: fixed Level::print for std::ostream
MueLu: added Constraint check to Level::print
MueLu: Reuse: fixing multiple problems with EminPFactory

The main problem were incorrect dependencies calls.
MueLu: Reuse: do not call Requests for coarser levels

When we reuse hierarchy, it is necessary that we don't
change the number of levels. We also cannot make requests
for coarser levels, because we don't construct all the
data on previous levels. For instance, let's say our first
run constructed three levels. If we try to do requests during
next setup for the fourth level, it would need Aggregates
which we didn't construct for level 3 because we reused P.
To fix this situation, we change the number of desired levels
here.
MueLu: Reuse: removed one check which does not work for reuse

We still need to rerun the dependency tree even if we have some data
from the previous setup. I removed the check that prevented us to do
that.
Panzer: Setting Tpetra assembly/solve to work with long GOs only

Previously this was only working with int so we were effectively upper
bounded by 2 billion still. This changes that. One issue however
is that you cannot switch dynamically (or at all!) between Tpetra<int,long>
to Tpetra<int,int>. The unit tests all pass at this point. Still need
to fix Drekar and ensure that MueLu works with Tpetra<int,long> through
Stratimikos.
MueLu: Modified stratimikos adapter to allow general template types

The previous version only allowed Tpetra<int,int> types, this version
now allowed Tpetra<int,long> types.
Panzer: Enabling MueLu with at Tpetra<int,long> type

Previously this only worked for Tpetra<int,int>. This commit
also removes some extraneous code in panzer::Traits
Amesos2: Made a call to max explicit

The compiler was unable to resolve an ambiguity coming from Sacado.
I find that making these things explicit helps fix these issues.
Panzer: Adding a Tangent scalar type for parameter sensitivities

To implement parameter sensitivities I've added a "Tangent" scalar
type. I had to modify many of the gather/scatter evaluators adding
place holders (that in most cast throw an exception) for this new
scalar type. I also cleaned up the trans class a bit and started
the modification for the epetra model evaluator.
Panzer: Adding parameter sensitivities (including evaluation of dfdp)

This currently only works for Epetra objects (non-blocked). Also modified
the model_evaluator test to verify this capibility in some cases (not
yet verified for parameters that modify the boundary).
Tpetra: Made RowGraph a valid {Im,Ex}port source for CrsGraph.

This also includes a refactoring of the SrcDistObject hierarchy.
I had originally planned for SrcDistObjectWithPack to inherit from
SrcDistObject -- hence the name (it's SrcDistObject, with a pack()
method).  However, that inheritance scheme confused the compiler, so
I ended up making SrcDistObjectWithPack not inherit from anything.
Thus, there was no value to the name including "SrcDistObject" in
itself, so I simplified the name to "Packable" (which follows the
Java-ish naming convention for pure virtual interfaces).

I made RowGraph a valid source object for an Import or Export to
CrsGraph, by following the pattern set for making RowMatrix a valid
target of an Import or Export to a CrsMatrix:

1. Made RowGraph implement SrcDistObject (trivial)
2. Made RowGraph implement Packable (by implementing pack())
3. #2 requires putting source code in RowGraph, so I split off
   Tpetra_RowGraph.hpp into Tpetra_RowGraph_{decl,def}.hpp and
   Tpetra_RowGraph.cpp.

I also made CrsGraph reimplement pack(), by imitating packAndPrepare.
For some reason, packAndPrepare for CrsGraph does not have the same
optimizations that packAndPrepare for CrsMatrix does.  I didn't try to
port those optimizations; I simply copied the existing packAndPrepare
implementation.  Howver, I did optimize CrsGraph's copyAndPermute a bit,
by pulling branches out of the inner loop.

Build/Test Cases Summary
Enabled Packages: Tpetra
0) MPI_DEBUG => passed: passed=56,notpassed=0 (1.76 min)
1) SERIAL_RELEASE => passed: passed=43,notpassed=0 (0.65 min)