OpmFind.cmake: prevent multiple calls to the same module in the same run

this prevents to check for the same module more than once in the same
cmake run and should thus speed things up a bit as well as make the
output a bit cleaner. For this I assumed that the ${name}_FOUND cmake
variable does not get cached, which it seems like it does not...
cmake: make sure all calls to message() exhibit a type
OpmFind.cmake: also check for CAPITALIZED found variables

thanks to @rolk for catching this
Document modules and structures in the build system

Give a brief description of each of the modules that comprises the build
system, and the suffices that is used to form a virtual structure of
variables for each project.
Terminology instead of Notation as section header

Notation implies that we are going to be given symbols which
represents values or such (which arguably could be true since the
path is a particular value, and from programming we are used to
multi-letter symbols perhaps also with whitespace, but it's a
stretch), but Terminology is more accurate, as this section
describes fits the definition better: it is a vocabulary of
technical terms.

Hat tip: @bska
Create aliases for probed variables

Headers from other libraries (notably DUNE) require definitions of
other variables than our probe process set (e.g. HAVE_UMFPACK instead
of HAVE_SUITESPARSE_UMFPACK_H). This module sets those aliases for
compatibility.
Declare a need to know if UMFPACK is available

Note that the variable HAVE_UMFPACK is not set by FindSuiteSparse,
but by OpmAliases.
Declare a need to know if BOOST is available

Note that the variable HAVE_DUNE_BOOST is not set by FindBoost,
but by OpmAliases.
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.