follow up issue for remote development bug and code quality
MR: Pending
## Description
Also there is a small bug with our current code based on the note [here](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/158587#note_2033984730):
@zhaochen_li We still needed to create an issue to fix the bug:
> But if we did this, it would actually uncover a bug we have in [the `ee/app/graphql/mutations/remote_development/namespace_cluster_agent_mappings/create.rb` class](https://gitlab.com/gitlab-org/gitlab/-/blob/efd4c68056afe2686607081cf9be6ada051bebe7/ee/app/graphql/mutations/remote_development/namespace_cluster_agent_mappings/create.rb#L48-48), where we are incorrectly returning the key of `workspace` instead of `namespace_cluster_agent_mapping`. This is untested and made it past review, and apparently nobody has noticed.
Look into the issue with facotry reload
Based on the comment [here](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/158587#note_2024923540), we would like to move remote_Development fields into our own module, and add it into the ancestor chain to the `ee/app/graphql/ee/types/clusters/agent_type.rb`
Based on the [comment](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/158587#note_2024923656) here, we would like to update the testing to do more real reflection.
## Acceptance Criteria
- [ ] fix the bug with returning key
- [ ] do code refactor above
- [ ] add sufficient unit testing
<!-- Replace with other type, e.g. bug or maintenance, if appropriate -->
<!-- Replace with other subtype if appropriate -->
<!-- By default, all issues start in the unprioritized status. See https://handbook.gitlab.com/handbook/engineering/development/dev/create/remote-development/#-planning-process -->
<!-- For simplicity and to avoid triage bot warnings about missing workflow labels, we will default to issues starting at the refinement phase -->
issue