Corrects required version and make Eigen3 download work.

At least on Debian requiring version 3.1 of Eigen3 is not sufficient
according to issue #25 the minimum version is 3.1.2. This patch fixes
the required version. In addition it skips the REQUIRED option passed
to find_package(Eigen3) to make the git download work.

Fixes #25.
Saturation table scaling and hysteresis.

This commit implements some additional scaling keywords.  This includes
the ISWL-family that provide hysteresis behaviour via alternative
scaling of the tables.  The old parser has been somewhat extended for
testing purposes.  The commit also includes a slight refactoring of the
SatFunc-family where a new base class has been introduced.
RV is back in business.
RV is back in business - a second attempt.
Fix fallout from PR #474

The check introduced in PR #474 (commit ad899fc) means all decks
must supply valid depth data.  Update test decks accordingly to
restore "make test".
Removed blanks from strings.
Merge pull request #483 from bska/fix-test-fallout

Fix fallout from PR #474
Merge pull request #478 from osae/endscale

Saturation table scaling and hysteresis.
Merge pull request #476 from andlaus/fix_eigen3_version

Corrects required version and make Eigen3 download work.