Always use `attribute` to define the product
The idea is that we define the attributes on the factory, and make them lazily loaded. The factory is free to use them, and so is the product. The product will just load everything from the factory. This eliminate the difference between factory and product. The product is now just a delegation to the factory, without having `fabricate!` and other methods.
package-and-qajob from pipeline https://gitlab.com/gitlab-org/gitlab-ce/pipelines/33450913 triggered https://gitlab.com/gitlab-org/omnibus-gitlab/pipelines/33453757 downstream.
Trigger:qa-testjob from pipeline https://gitlab.com/gitlab-org/omnibus-gitlab/pipelines/33453757 triggered https://gitlab.com/gitlab-org/gitlab-qa/pipelines/33460996 downstream.