Enable all jobs in detached pipelines

When working on an unrelated issue, it became clear that the reason why
previously only the `merge_log` and `merge_whitesp` jobs appeared in
detached pipelines (the ones that relate to an open MR) was really because
they include a `rules` section. It is as though in the absence of a `rules`
section, a default one applies, which adds the job to the pipeline only if
that pipeline was due to an update of a branch or tag ref. When `rules` was
present for a job, it overrides the default, and is evaluated irrespective
of the the pipeline trigger.

Now, it's useful to have all the jobs present in detached pipelines. The
latest detached pipeline state, and its associated artifactes, are displayed
at the top of the "Overview" tab of each MR page, and a new one can be
easily triggered from the "Run pipeline" button at the top of the MR page's
"Pipelines" tab, without having to navigate to the contributor's fork project
(which may not even be public). It's also a problem that the `cleanup` job
wasn't being run for detached pipelines, since over time that risks filling
up the disc space on the runner machine.

It turns out all of this can be implemented simply by adding a `workflow`
section which defines a new default set of rules, which adds jobs to
detached pipelines as well as ones for branches and tags.
1 job for master in 5 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Generate
passed #38938
cross
generate

00:00:05