Refine pipeline stages
What does this MR do?
Introduces a concept of Ci::Stage
to make it easier to have detailed statuses.
Why was this MR needed?
This is needed to simplify the handling of Ci::Statuses
and make the Stage
actual concept in code:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7889