Move inheritance rules for CI configuration to rule class
Follow up on https://gitlab.com/gitlab-org/gitlab-ce/issues/23152
We want to reduce complexity of new Ci::Config module, which is quite high because we still need to maintain backwards compatibility and have interface for communication with legacy CI config processor. We will be able to greatly simplify it after solving all problems with logical validation that is still present in legacy GitlabCiYamlProcessor.
This is important step forward to making CI entry classes simple.
Edited by Jason Yavorsky