PyTrilinos: Stubbing in files and build system for PyTrilinos.NOX.PETSc
Merge branch 'master' into pytrilinos-nox-petsc
PyTrilinos: Removing obsolete NOX interface files
PyTrilinos: Updating NOX to more robust wrappers

This commit gets rid of dependence on NOX.Abstract_Content.i and
NOX.Abstract_RelPath.i and pulls out typemaps for NOX::Abstract
classes into its own SWIG file.  This means that NOX.Abstract,
NOX.Epetra, and NOX.PETSc can all use the same typemaps.

NOX.PETSc.__init__.i is still only a copy of NOX.Epetra.__init__.i,
but it uses the new build system.
PyTrilinos: Adding NOX.Abstract_typemaps.i

Pulling this file out by itself allows NOX.Abstract, NOX.Epetra, and
NOX.PETSc can all use the same typemaps.
Merge branch 'master' into pytrilinos-nox-petsc
PyTrilinos: Added HAVE_NOX_PETSC to PyTrilinos configuration macros
PyTrilinos: Got NOX.PETSc to compile

There is not yet a way to get PETSc Vec or Mat objects into the
wrapped code, but it does compile and is ready for the next step.
Merge branch 'master' into pytrilinos-nox-petsc
PyTrilinos: Added a search for petsc4py

This Python module is required if NOX support for PETSc is enabled and
PyTrilinos is enabled.
PyTrilinos: Added include path for pets4py when appropriate
PyTrilinos: PyTrilinos.NOX.PETSc interoperability with petsc4py

I utilized petsc4py.i to provide conversions for Vec and Mat objects.
This means that a user can construct these objects using petsc4py and
pass them to PyTrilinos.NOX.PETSc and they will be properly
recognized.

I deleted a bunch of commented Epetra stuff in NOX.PETSc.Interface.i.

Note that the Interface does not yet work as it should.  This will
require a few new typemaps, specifically directorin typemaps for const
Vec &, Vec &, and Mat &.
PyTrilinos: Added FindPETSc4Py.cmake

First inclusion of cmake capability to find petsc4py Python module.
Add converstions between C++11 std::shared_ptr and Teuchos::RCP

Build/Test Cases Summary
Enabled Packages: TeuchosCore
Enabled all Forward Packages
0) MPI_DEBUG => passed: passed=364,notpassed=0 (63.66 min)
1) SERIAL_RELEASE => passed: passed=287,notpassed=0 (19.53 min)
PyTrilinos: Fix logic bugs for NOX::Abstract typemaps

The "out" typemaps needed to be altered to try different downcasts (to
Epetra, to PETSc, etc.) and then if none of them work, simply use the
Abstract type.  Needed to add #include statements and downcasting
functions, implemented as fragments.
PyTrilinos: Removed some commented out code

This was the %include "NOX.Abstract_typemaps.i" line, which needs to
be put back in.
PyTrilinos: Fixed NOX import bug

The problem was that "import NOX" would import the "Epetra" sub-module
and set sys.modules["___init__"] to PyTrilinos/NOX/Epetra.___init__.so
as expected.  But the it would import the "PETSc" sub-module, which
would reset sys.modules["___init__"] to
PyTrilinos/NOX/PETSc.___init__.so.  So the Epetra ____init__ module
was disappearing and being replaced with the PETSc ___init__ module.

The fix was to manipulate sys.modules in python, adding
sys.modules["PyTrilinos.NOX.Epetra.___init__"] and
sys.modules["PyTrilinos.NOX.PETSc.___init__"], and getting rid of
sys.modules["___init__"].
Merge branch 'master' into pytrilinos-nox-petsc
Panzer: Option to force usage of the Epetra ME

Currently it defaults to the Epetra ME, but soon we will transition
to the Thyra ME with the eventual goal of dropping the Epetra ME
all together.
PyTrilinos: Added new downcasting functions

The functions that downcast from NOX::Abstract::Vector now include:

    NOX::Abstract::Vector &
    const NOX::Abstract::Vector &
    Teuchos::RCP< NOX::Abstract::Vector >
    Teuchos::RCP< const NOX::Abstract::Vector >