Add new placeholders for group/project badges
## Problem to solve
I want to be able to link a coverage badge to a report that is published with GitLab Pages. Unfortunately, there is no way to set this generically at the group level using the current [placeholders](https://docs.gitlab.com/ee/user/project/badges.html#placeholders).
`%{project_path}` includes the project's namespace, so there's no way to generate a URL like this:
```
http://<project_namespace>.pages.<my_gitlab_server>/<project_name>/coverage
```
## Proposal
Add the following new placeholders:
* `%{project_namespace}` - the group/namespace of the project
* `%{group_name}` - the name of the group
* `%{gitlab_server}` (or similar) - e.g. example.com
* `%{gitlab_pages_domain}` (or similar) - e.g. pages.example.io
### Links / references
https://docs.gitlab.com/ee/user/project/badges.html#placeholders
## Implementation Guide
1. Update the `app/models/badge.rb` to include new placeholders (`project_namespace`, `group_name`, etc.) in the `PLACEHOLDERS` hash, e.g.:
```ruby
'project_namespace' => ->(project) { project.project_namespace.to_param },
'group_name' => ->(project) { project.group&.to_param },
'gitlab_server' => -> { Gitlab.config.gitlab.dig('host') },
'gitlab_pages_domain' => -> { Gitlab.config.pages.dig('host') },
```
2. Update the `app/assets/javascripts/badges/constants.js`, to add support for the new placeholders.
3. Add relevant specs for the new changes
4. Update ~documentation for new placeholders (`doc/api/group_badges.md`, `doc/api/project_badges.md` and `doc/user/project/badges.md`).
issue