Introduce OPM_UNUSED as a portable wrapper to __attribute__((unused))

This works pretty much the same way as DUNE_DEPRECATED (without message).

Thanks to Elias Pipping for implementing this.

dune-common SVN revision: r6556
add tridiagonal matrix

this class can do both, more and less than dune-istl's BTDMatrix. more
because it supports entries on the lower left and upper right, less
because it does not support a block structure. The primary motivation
for this class were the spline classes which for which the former
feature is required to implement periodic splines and the latter is
not necessary...
add functions to analytically invert polynomials up to degree three
introduce classes for monotonic, full, periodic and natural cubic splines
Update the CMake cache to reflect current settings

During configuration some of the values for CMake properties (compiler
flags etc.) may be changed either by the user (through command line
parameters or option files), or by the configuration script itself
(setting more aggressive options or detailed debugging for instance).

This change writes many of the relevant values back into the cache so
they are available for introspection (using e.g. ccmake) or when the
rerunning the configuration without specifying all options.
Fix logic bug and make language explicit

The operator precedence in CMake can be surprising, so add parenthesis
to make in unambigious. Also, make it more explicit from which language
we get the default options. (They are all set from the settings given
for C++; why would have different optimization options for C and C++?)
Clear default flags in an (im)proper way

The CMAKE_NOT_USING_CONFIG_FLAGS option is really only settable by a
user that doesn't want _DEBUG or _RELEASE flags to not have effect.
If we want other flags than the platform default, we must do hairy
things like clearing them from the cache (overriding the user's
seletion if it was the same as the platform default).
Honor the CMAKE_NOT_USING_CONFIG_FLAGS settings

If this is set, then everything is lumped into CMAKE_CXX_FLAGS since
that is the only one that is going to be used when building anyway.
move the new stuff to opm/core/utility
Use struct since that was the original declaration

Otherwise we get a warning later when the real thing is defined.
Set linear solver steps in criterion instead of ctor

The constructor that takes the number of steps is deprecated; this
generates needless warnings.
Don't warn about functions not emitted

If a function is used by a template but this template is not
instantiated, the function will still be defined in the header
of a module but it won't be callable because it is in an anonymous
namespace and thus we get a warning.

This only happens in Clang; GCC consider functions referenced from
templates as used.

fixup! Don't warn about functions not emitted
Convert functions in anonymous namespace into statics

These functions are referred to from templates which may not be
instantiated. Since they were in an anonymous namespace they were
not reachable otherwise, and a warning is emitted. This only applies
to Clang; GCC consider them used.

If we make them static helper functions instead, the warning
disappears.
Issue warning if unknown parameters are given
Merge pull request #376 from rolk/376_warn

Quelch needless warnings (found by Clang)
refactor the spline code: merge everything into one class
Merge pull request #345 from andlaus/import_splines

Import splines
import Dune's class name code
Import the property system from eWoms
add authors to the files according to git logs