Create class EntityFactoryMixin

Move class Factory to module robottelo.factory. Create a second class in that
same module named EntityFactoryMixin. This has been done, in part, to fix a
circular import issue. It also fixes a possible namespace clash: module
robottelo.factories now includes *only* concrete factories, and those concrete
factories are named after the entities they build.

The new class EntityFactoryMixin is capable of being inserted into an Entity's
class hierarchy as a mixin. If done, the entity will inherit the methods
attributes() and create(), plus a couple other private methods necessary to
everything work.

Use class EntityFactoryMixin with all four existing entities.
Use entity factories in tests