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.
Can now solve with bhp-controlled wells.

Simple initial code. Assumes that well_state.bhp() contains
well bhp targets, does not check control structures.
Make float accuracy fix the main path. Remove alternative path.
Added utilitied collapseJacs() and vertcat().

The utilities are not optimized for speed, but make it easy
to construct a linear system from all the jacobian blocks.
Make the test run a simple bhp-controlled case.
Added well equations.

Residuals are not yet used for loop control.