add Roland's dune version detection magic from OPM core

(this commit should be removed as soon as the cmake rollup is complete.)
convince cmake to use UseDuneVer

this is also only temporary until the big rollup completes
make it compile without warning on the DUNE git master

the biggest issue was that they removed the 'Allocator' template
argument from 'Dune::PersistentContainer'.
Merge pull request #42 from andlaus/dune23

make it compile on dune 2.3
Revert (temporarily) back to common build system

Remove lines which causes merge problems; these will be introduced
in opm-core, and then imported back here later.
Try singular name if plural not defined

In CMake "canon" (i.e. tutorial on Kitware's website) it is stated that
the _DIR suffix should be used for the directory of the library alone,
whereas _DIRS are entire list of paths necessary to compile (i.e.
dependencies are included).

Eigen3 only uses the singular form (since it doesn't have any
dependencies); it should really be copied to the plural form, but it may
be advantageous to have the find-module included unchanged, so we put in
an extra effort to find it here.
Include possibility that uppercase is used
Remove AutoTools files that searches for libraries
Library to pick up configuration from pkg-config files

Pkg-config files are written as part of the CMake configuration, and
these can be imported into AutoTools-driven projects to get the correct
compiler and linker options that has been probed.
Compatibility module for dunecontrol-driven clients

If a client generated with duneproject/built with dunecontrol has a
dependency to dune-cornerpoint, the macros defined in this file is
expected to exist and will be called to search for the dune-cornerpoint
library.

All that is done here is to use the pkg-config helper module and
import the configuration that was written by the CMake system (which
even may have been called earlier in the same dunecontrol "session")
Disable link-time, whole program optimization

When using LTO, the linker calls back to the compiler to figure out
where a certain symbol is defined. However, in many versions there
is apparently a bug that is triggered if a template in inlined in
both a used library and in the main program, but with different
versions of the compiler. The Boost exception class is particular
prone for this.

Thus, we disable the -lto from the development builds by default;
if anyone wants to test of the behaviour of their own compiler, they
must now explicitly turn on this flag.
Include flag for enabling link-time optimizations

When LTO is disabled by default, we need a flag to re-enable it.
Recognize lib dirs that may be used later

This let you specify a bunch of directory names on the command line
to *all* packages, without getting annoying warnings that they are
defined but not used.
Add CMake backwards compatibility for version < 2.8.3

Add features that aren't available in early versions of the 2.8.x
release series, enabling use of 2.8.0 if needed (e.g. Ubuntu 10.04)
List prerequisites for modules in a separate file

This file can be included both in the project itself, and also in the
find module for the library, so that the list of dependencies can be
maintained in only one place.
Add dependency to Boost::Signals for opm-core
Get prerequisites from a separate "header" file

Note that the variable containing the dependencies must be expanded
inside quotes; otherwise the list will spill into the argument list!
Common code for building OPM library modules

Most of the OPM libraries follow the same template; this include file
contains all the common code.
Move configure script to cmake/Scripts/ directory

We want all changes to happen there; retain a small script that
simply forwards the action to the main script in that directory.
Remove the project parameter for the customization hook

The hooks are meant to be project specific, and should therefore
either know their own name or at least have access to a variable with
that name in it.