Added required dependencies on opm-parser and CJSON
Removed explicit cJSON dependency from opm-core
Raised the opm-core boost dependency to 1.44 to reflect parser requirement
Provide CMake find module for opm-autodiff

If the module root is not explicitly specified, the loading of its
configuration is delegated to a find module, which does a heuristic
search in known/surrounding directories. Most OPM modules use the
common logic in OpmPackage; this patch configures the search
specifically for opm-autodiff.
Only add linker option if it is not really there

This code is run unconditionally each time we do a reconfigure; if the
option is added at each time, they will accumulate (needlessly) on the
command-line, making it harder to inspect the log.
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
cmake: make sure all calls to message() exhibit a type
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...
OpmFind.cmake: also check for CAPITALIZED found variables

thanks to @rolk for catching this
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.
Makes arbitrary build subdirectories possible.

Instead of guessing the suffix or subdir of the build directory,
we now simply compare PROJECT_{BINARY,SOURCE]_DIR to detect it.
By this e.g. opm-core/opm-parallel is a possible build directory, too.
Whitespace change that replaces introduced tab with spaces.
Support more arbitrary sibling/subdir build directories for opm-parser.
Removed printf debugging messages
Do not use find_package in config mode for opm-parser.

Currently opm-parser does not create opm-parser-config.cmake files. Therefore
building with duncontrol fails as it sets opm-parser_DIR. With this patch
we force CMake to always use module mode for finding which fixes this.
Provide dependency information for opm-benchmarks