PyTrilinos: build fails when Epetra, NOX enabled, but not Ifpack
*Created by: wfspotz*
<!---
Provide a general summary of the issue in the Title above. If this issue
pertains to a particular package in Trilinos, it's worthwhile to start the
title with "PackageName: ".
-->
<!---
Note that anything between these delimiters is a comment that will not appear
in the issue description once created. Click on the Preview tab to see what
everything will look like when you submit.
-->
<!---
Feel free to delete anything from this template that is not applicable to the
issue you are submitting.
-->
<!---
Replace <teamName> below with the appropriate Trilinos package/team name.
-->
@trilinos/pytrilinos
<!---
Assignees: If you know anyone who should likely tackle this issue, select them
from the Assignees drop-down on the right.
-->
<!---
Lables: Choose any applicable package names from the Labels drop-down on the
right. Additionally, choose a label to indicate the type of issue, for
instance, bug, build, documentation, enhancement, etc.
-->
## Expectations
<!---
Tell us what you think should happen, how you think things should work, what
you would like to see in the documentation, etc.
-->
When PyTrilinos, Epetra, and NOX are enabled, but Ifpack is not, PyTrilinos should build without error. The `NOX.Epetra` module should NOT be enabled, consistent with NOX.
## Current Behavior
<!---
Tell us how the current behavior fails to meet your expectations in some way.
-->
The build fails because NOX does not enable `NOX::Epetra`, but PyTrilinos tries to wrap these interfaces.
## Motivation and Context
<!---
How has this expectation failure affected you? What are you trying to
accomplish? Why do we need to address this? What does it have to do with
anything? Providing context helps us come up with a solution that is most
useful in the real world.
-->
A user tried to build with this combination and ran into the failed build. PyTrilinos should be checking the `NOX_ENABLE_ABSTRACT_IMPLEMENTATION_EPETRA` Cmake variable.
## Definition of Done
<!---
Tell us what needs to happen. If necessary, give us a task list along the
lines of:
- [ ] First do this.
- [ ] Then do that.
- [ ] Also this other thing.
-->
- [x] Rework the PyTrilinos configuration logic to check `NOX_ENABLE_ABSTRACT_IMPLEMENTATION_EPETRA`
- [x] Test that the above-mentioned combination of packages builds cleanly
- [x] Test that the `NOX.Epetra` module is not enabled
- [x] Test that enabled PyTrilinos tests pass
- [x] Test that when proper packages ARE enabled, that `NOX.Epetra` does get enabled and that tests pass
N.B. Both AztecOO and Amesos have to be enabled for the last step to work.
<!--- ## Possible Solution
Not obligatory, but suggest a fix for the bug or documentation, or suggest
ideas on how to implement the addition or change.
-->
## Steps to Reproduce
<!---
Provide a link to a live example, or an unambiguous set of steps to reproduce
this issue. Include code to reproduce, if relevant.
-->
1. Write a cmake script that disables all packages except PyTrilinos, Epetra, and NOX
1. Verify build failure
issue