PVT properties: allow them to be temperature dependent

Note that this patch does not introduce any real temperature
dependence but only changes the APIs for the viscosity and for the
density related methods. Note that I also don't like the fact that
this requires so many changes to so many files, but with the current
design of the property classes I cannot see a way to avoid this...

this PR must be merged synchronously with OPM/opm-core#688...
If you remove `averageTemperature()` you should remove `T_avg_` too or turn it into a sentinel value for subsequent uses.  Method `averageTemperature()` is the only place that assigns values to `T_avg_`.

If you want to mirror the  average pressure facility which, admittedly computes the wrong value, you should rather insert a call to `averageTemperature()` in `defineState()` next to the `averagePressure()` call.