Promote 'test_impestpfa_ad' to an 'example'

This was the original intention, but the file was misplaced during
the module reorganisation.
Build 'test_impestpfa_ad' along with the 'examples'
Implement first cut at Darcy (total) flux calculation.

This is compile-tested only.
The 'pflux' is really the hydraulic head.

Rename variable accordingly.
Move rel-perm and viscosity calculations closer to use

This is an aesthetic change, only.
Merge remote-tracking branch 'atgeirr/master'
Merge remote-tracking branch 'atgeirr/master'
White-space cleanup.

No functional changes.
Merge remote-tracking branch 'bska/master'
Merge pull request #1 from bska/master

Implement total Darcy flux calculation and minor build-system cleanup
Refine OpmFind according to Roland Kaufmann's suggestions.

This enables us to restore FindEigen3.cmake to its original
state (as copied from Eigen sources).
Bugfix: convert array to matrix type for matrix multiply.
Fixes in computeFluxes().

 - Give AD variables the correct block pattern (although as we
   change fluid interface they will not need to be ad types).
 - Make sure 'flux' is only on inner faces.
 - Copy full fluxes to state.faceflux().
Print face fluxes after solve.

Also define the HACK_INCOMPRESSIBLE_GRAVITY symbol, since test case
is meaningless without it.
Refactored ImpesTPFAAD to use BlackoilPropsAd interface.

Not yet tested, but compiles and runs. Stops on error message
due to lack of viscosity derivatives.
Test case working again with new fluid.
Clean out dead uncommented code.
Remove more unused code.
Moved UpwindSelector out of anonymous namespace.
Added Selector class.

Used to choose element-by-element between two (potentially AD) vectors,
depending on signs of elements of a third vector. Simple and not optimized.