Extract attribute caching mechanism from Runner model into concern
Summary
We should extract the attribute caching mechanism added to the Ci::Runner model in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/16756 to a concern.
Reasoning
This would allow us to use this mechanism in other places as well.