Improve docs to avoid having `rules:` result in double pipelines on merge requests
### Summary
Adding `rules: ...` to a job makes gitlab start 2 pipelines instead of one on merge requests
### Steps to reproduce
this ci configuration makes 1 pipeline:
```yaml
image: docker:19.03.2
stages:
- build
image:web:
stage: build
interruptible: true
script:
- echo hello
```
this one makes 2:
```yaml
image: docker:19.03.2
stages:
- build
image:web:
stage: build
interruptible: true
rules:
- when: manual
script:
- echo hello
```
the "new" pipeline have the "detached" label. but the merge request is a fast forward (no rebase needed) and both pipeline have the same commit id
## Proposal
`workflow:rules:` allows us to solve today all ambiguity: https://gitlab.com/gitlab-org/gitlab/issues/34756#note_282820625. Effectively resolving this issue. Our only follow-up is to properly document how to deal with it:
1. if you want to use `rules:`, always add `workflow:rules:`,
1. we provide a bunch of different `workflow:rules:` and describe their pattern,
1. we ask to gradually remove `only/except` from jobs.
1. if you really want to use `rules:` only (without `workflow:rules:`), then you need to add a workaround that filters out the `merge-request` pipelines within a job.
We should at the same time review the `only/except` section of the documentation and make sure that we are doing our best to drive people towards using only the new `rules` syntax in their pipelines.
issue