Adding an offical TriBITS FindTPLPETSC.cmake (Trilinos #5922)

Adding an offical TriBITS PETSC TPL solves a number of problems for TriBITS
projects with repos that define a PETSC TPL dependency but don't depend on
each other.  This is the case with Trilinos and MPACT in CASL VERA.  For more
details, see Trilinos #5922 and VRI Kanban #2954).  Also, this is a much more
complex FindTPLPETSC.cmake script.

I added copyright and license info (see Trilinos #5922).

Build/Test Cases Summary
Enabled Packages: Teuchos
Disabled Packages: CTrilinos,ForTrilinos,PyTrilinos,Didasko,Mesquite,Phdmesh,Pliris,Claps
0) MPI_DEBUG => passed: passed=109,notpassed=0 (0.95 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=112,notpassed=0 (2.56 min)
3) SERIAL_RELEASE_SS => passed: passed=103,notpassed=0 (2.38 min)
Tpetra: Improved documentation of sparse matrix-matrix multiply and add.

This includes documentation of the Tpetra::MatrixMatrix namespace,
so hopefully it will show up in the public Doxygen now.
Merge branch 'master' of software.sandia.gov:/space/git/Trilinos
Intrepid MiniTensor: minor modifications to avoid warnings when compiling
with the clang compiler.
Tpetra: Improved public documentation of MatrixMatrix namespace.

I found that Tpetra_ConfigDefs.hpp already includes a declaration
of the Tpetra::MatrixMatrix namespace.  This is the right place for
the public Doxygen documentation to go.  I moved that documentation
into that header file.
Merge branch 'master' of software.sandia.gov:/space/git/Trilinos
Thyra: Fixed implementation to match the contract

According to the documentation, for complex valued types, the member
function applySupportsConj should return true only if conj==NONCONJ_ELE.
Thyra: Fixed forwarding of complex conjugation mode

Thyra::LinearOpBase offers the option to compute a non-transposed
conjugate matrix-vector product by specifying the input value CONJ, but
Tpetra::Operator does not natively implement such an operation.

For non-complex scalars, conjugation is the identity therefore it is
ignored. For complex scalars, Thyra::TpetraLinearOp now correctly
returns that such an operation is not supported.
MueLu: Fixed conjugation support in Thyra adapters

Removed the overriden query member functions and fell back on the default
implementation provided by the base class Thyra::PreconditionerFactoryBase.
Tpetra: Improved public docs of sparse mat-mat add
Intrepid MiniTensor: Moved component order enumeration out of Tensor class.
Thyra: Fixed default value for x_dot

The rationale for the change and the implementation are similar
to those relative to Roger Pawlowski's commits:
1a7612c26ca7179002ddb918ad3e0f65e0d030c1
6dc392589b6ddd758783739f3ddf70b66a7c255d
Thyra: Fixed MultiVector derivative performance

When both orientations of the MultiVector-based derivative were natively
supported by a concrete model evaluator deriving from
ModelEvaluatorDefaultBase, the row-oriented version used to be obtained
by first requesting the column-oriented derivative before computing its
transpose.

Directly requesting the row-oriented version avoids the unnecessary
performance hit entailed by the above behavior.