Make it possible to define custom site directory within artifacts for GitLab Pages
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=15167)
</details>
<!--IssueSummary end-->
Currently GitLab Pages can be only deployed when artifacts repository contains a `public/` directory.
It would be nice to make it possible to configure this directory, since someone may want to use pages with existing project, and `public/` directory is often already there. Like in GitLab, we have a [public](public) directory already taken, and this is quite common name.
Maybe it would be easy to use the first directory in artifacts and raise error if there is more than one?
### Workaround
It's possible to just:
1. use some other directory like `pages_source`
1. add this to the end of the script:
```
rm -rf public
mv pages_source public
```
/cc @ayufan @JobV
issue