text: Title: [core] Fix mock dependency
  Body: ### What happened + What you expected to happen
  
  Ray core's mock object dependency is a mess, one concrete example:
  https://github.com/ray-project/ray/blob/master/src/mock/ray/raylet/agent_manager.h
  It should have the dependency of `AgentManager` and `DefaultAgentManagerServiceHandler`, but somehow it doesn't...
  
  As a result, we have to include `class_a.h`  before `mock_class_a.h` and avoid linter reorder via `clang-format off`, otherwise build will break.
  A concrete example:
  https://github.com/ray-project/ray/blob/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/ray/gcs/gcs_server/test/gcs_worker_manager_test.cc#L17-L26
  
  This issue could be split into multiple sub-issues:
  - [x] (small) https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/common/ray_syncer
  - [ ] https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/core_worker
  - [ ] (small) https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/gcs/gcs_client
  - [ ] https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/gcs/gcs_server
  - [ ] (small) (https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/gcs/pubsub)
  - [ ] (small) (https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/gcs/store_client)
  - [ ] (small) (https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/pubsub)
  - [ ] https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/raylet
  - [ ] (small) https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/raylet_client
  - [ ] (small) https://github.com/ray-project/ray/tree/051798b384e1e1d0ae9aa3d17d8a8fcf8d69fc74/src/mock/ray/rpc/worker
  
  **Note:
  For large folders, you don't need to do everything in one PR.**
  
  Steps to take:
  1. Create a subissue, which links back to this main issue
  2. Pick one items you're interested in, properly add dependency (header file and bazel build file)
  3. Update use cases in unit tests and remove `clang-format off` mark
  
  ### Versions / Dependencies
  
  N/A
  
  ### Reproduction script
  
  N/A
  
  ### Issue Severity
  
  None