introduce a mechanism to cache the volume variables

this is implemented by extending the existing functionality for hints
and leads to a significant reduction of the volume variables updates
required. unfortunately, the performance with cached volume variables
is basically identical to the non-cached case, so they are disabled by
default...

anyway, this makes the thermodynamic hints code more robust and
cleaner, so it does not hurt to add it...