[#556] Solve issue when SurveyedLocale doesn't have geocells

* Code clean up:
  - Use initCache instead of manually initializing a cache
    object
  - Don't reassing the `cursor` parameter
* Execute the cluster re-computation in the `dataprocessor` backend