Create a set of config variables for implementation

The config variables in _CONFIG_IMPL_VARS are only written to config.h
and not the .pc or -config.cmake files. They can thus only be used by
the implementation files and not the headers. Use this set to avoid
exposing the variables to other projects, when it is likely that a
probe used by that other project may turn up a different result.
Provide hook to configure getting other's version

This hook together with the bundled convenience macro makes it
possible to add the version of another module to config.h using
code like this:

macro (config_hook)
  opm_need_version_of ("dune-common")
endmacro (config_hook)
Give template for adding version requirement
Provide a define for having OpenMP
Probe DUNE module version number from installation

Figure out where the closest dune.module is, and parse it for
information. The defines are added to config.h, so that our code
may behave differently for various versions available.

It actually works for opm-core 1.0 as well, but don't tell anyone;
we rather want people to use opm/core/version.h instead.

If a module has been backported and installed to a directory which
also contains the version number, e.g. /usr/include/dune-2.3, to
avoid clashing with an existing version in /usr/include, then this
part is now stripped from the include directory and added back to
the lib directory where we are looking for dune.module
Make available version numbers for these modules
Fix bug in determining if directory is found

The parenthesis is to make it less ambiguous how the boolean expression
should be evaluated.
Merge pull request #305 from rolk/305_openmp

Provide a define for having OpenMP
Enable support for Ninja build generator

Use the Ninja build generator if '--enable-ninja' is passed on the
command line to ./configure (or of course if -GNinja is passed
directly to CMake).
Merge pull request #306 from rolk/306_ninja

Enable support for Ninja build generator
Recognize Clang to be a GCC-compatible compiler

Clang aims to be compatible with GCC when it comes to command-line
parameters. Where we enable functionality based on the presence of
a GCC-compiler, we can use the same functionality with Clang.

This patch introduces a new variable CXX_COMPAT_GCC which is true if
the compiler handles the same options as GCC, and this variable is
subsequently used in tests instead of CMAKE_COMPILER_IS_GNUCXX (which
remains if we need to test if we really have GCC, e.g. for version)
Merge pull request #307 from rolk/307_clang

Recognize Clang to be a GCC-compatible compiler
Have distclean target keep up with build improvements

If you run `cmake --build . -- distclean` all generated files will
now be gone! This adds the files that have been introduced in later
improvements to the build system.
Merge pull request #309 from rolk/309_clean

Have distclean target keep up with build improvements
Build system: make it work for modules which do not need libraries
Merge pull request #310 from andlaus/allow-nolib

Build system: make it work for modules which do not need libraries
Module mode CMake probe for opm-material
Upgrade Findopm-material to use separate prerequisite list

This will now be included both by the find module and by the project
file itself.
Merge pull request #311 from rolk/311_material

Find module for opm-material
Allow PCH option to be on even if there is no library