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.
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.
Use common library code and define customization in macros

Only the code that is special for this particular project is retained
in the main file; all the common code is imported from the cmake/
directory.
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.
Project-specific hooks no longer needs an extra arg.

This change is already implemented in its own commit, but the
CMakeLists.txt change is in its own commit to make it easier to
distribute the changes to other projects without merge conflicts.
Change marker EXCLUDE_ALL to EXCLUDE_FROM_ALL in opm_compile_satellite

Previously, when passing EXCLUDE_ALL to opm_compile_satellite this
resulted a cmake error:

CMake Error at cmake/Modules/UseDebugSymbols.cmake:71 (get_target_property):
  Cannot find source file:

    EXCLUDE_ALL

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx
Call Stack (most recent call first):
  cmake/Modules/OpmSatellites.cmake:77 (strip_debug_symbols)
  CMakeLists.txt:176 (opm_compile_satellites)
Don't include prerequisites here; do it more explicitly

Developers that are working to familiarize themselves with OPM will
probably start out in CMakeLists.txt to figure out where the project
declare its dependencies, thus the list should be referred to from
there instead of inside one of the sub-modules.
Include file list from top-level instead of module-level

Increase the visibility of the source file name include by no longer
putting it in a module, but rather by including it in CMakeLists.txt
Refer to other project-specific files at top-level

Having the include statements here will hopefully lead to others
quickly finding the list of prerequisite files needed to build.
Merge pull request #266 from rolk/266_library

Move all common build code to cmake/ directory
Adjusts macro documentation to recent change.
Zero-initialize structure to avoid returning undefined

The compiler will otherwise complain that we are returning undefined
data. There is no way for the client code to know whether this was
the case.
Merge pull request #272 from blattms/satellite-exclude-all

Change marker EXCLUDE_ALL to EXCLUDE_FROM_ALL in opm_compile_satellite
Merge pull request #276 from rolk/276_linsolres

Zero-initialize structure to avoid returning undefined