Improve artifacts by also surviving variables
Problem to solve
Currently, when wanting to move variables from one job to the next, the only 'hack' we have is to store the variables in a file in an after_script and restore them again in a before_script. This is crufty and cumbersome. Instead, we can expand the current artifacts stanza, to not only list paths, but also variables.
Internally, we can do exactly the same thing, store the variables in the list in a file, and restore them on load. From a security point of view, it is of course the responsibility of the user what is being put in the artifacts. E.g. if a user wants to make a password to jump from one job to the next, well that's there choice. Off-topic, I'm not aware how expire_in works if you put in 0. I would expect that an artifact would go from one job to the next, but never offered to be downloaded, which would be slightly different from the scenario of 1second, as there would be a small window of opportunity to download something. But this is a new issue/feature I would argue :)
Having a (hidden) file in the archive, .variables or .VARIABLES for example, would be fine.