Rewrite factories, write more tests

Completely rewrite module `robottelo.factories`. The rewritten module still makes classes like `Factory`, `ModelFactory` and `ProductFactory` available for use, but the internals of those classes is now vastly different, and their usage is slightly different as well.

Update the tests in package `robottelo.tests.api` to use the updated factories. Add additional tests into module `robottelo.tests.api.test_model_v2`. These additional tests make use of the long-promised `create` method, which is capable of talking to a remote Foreman deployment and creating objects for you.

Update tests and documentation to reflect the changes.