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.
Merge pull request #445 from rolk/445_asneeded

Only add linker option if it is not really there
Property system: some simplifications and bugfixes

this simplifies the template meta programming a bit. (Which does not
mean that it suddenly gets easy.) The main motivation for this work is
to make the splices feature work properly which allows eWoms to
properly select the spatial discretization at any point.

Further, the number of type tags a node can inherit from now is truely
unlimited thanks the the generic tuple reversal class provided by
https://sydius.me/2011/07/reverse-tuple-in-c/ . (before, the maximum
number of nodes from which a type tag could inherit was 11, so this
limitation did not really matter in practice.)
Merge pull request #446 from andlaus/propertysystem_fixes

Property system: some simplifications and bugfixes
added: nonstandard 'RHO' field in eclipse grid parser

note that as this is a nonstandard field, there is no unit conversion
handling. use with caution
Merge pull request #447 from akva2/add_rho

added: nonstandard 'RHO' field in eclipse grid parser
fix typo in guard macro of fsh.h

on CLang 3.4 svn this produced

```
/home/erne/src/opm-core/opm/core/pressure/fsh.h:20:9: warning: 'OPM_FSH_HEADER_INCLUDED' is used as a
      header guard here, followed by #define of a different macro [-Wheader-guard]
```

which is correct...
Merge pull request #449 from andlaus/fix_guard_macro

fix typo in guard macro of fsh.h
Merge remote-tracking branch 'upstream/master' into opm-parser-integrate
Merge remote-tracking branch 'upstream/opm-parser-integrate' into opm-parser-integrate