Replace order of artifacts and cache restoring
Currently we're download artifacts from previous stages at first step, and then restore cache.
There may be a situation that for some job the same file is downloaded as artifact and configured to be cached. In that case artifacts passed from a previous job in the same pipeline may be overwritten by a cache archived by another job in another pipeline.
Since artifacts feature is an important part of the pipeline, that allows passing files from one stage to another, and cache feature is designed as will be available if possible we should replace the order of downloading artifacts and restoring cache. This will make sure, that files stored as artifacts are always present for a job in a proper version.