Geo: Fix cache clearing after repository update on secondary node

Merged Gabriel Mazetto requested to merge 1129-geo-clear-cache into master

When replicating operations originated from git, we don't have the same entry point (git_push_service.rb) on the secondary node, and because of that we had to manually duplicate some code after the update happens on the secondary (Pull vs Push).

This MR will introduces the following changes for Geo (#76 (closed)):

  • cache backfilling by ProjectCacheWorker
    • The call will switch from normal to Geo specific cache building code (when in a secondary node).
  • triggers after_* repository hooks when necessary to clear cache after specific events (when in a secondary node).

Fixes #1129 (closed)

cc @marin @dewetblomerus @patricio