datacher: minimum caching time

* Introduces a new parameter in the datacacher that defaults to 30s.
  This is the mininum time the data is cached. That means that calling
  recreate_cache_if_needed() does nothing if it was called less than 30s ago.