Make `Factory.create` exception messages better

Ensure that when `Factory.create` raises a `FactoryError` exception, the path
being POSTed to is included in the error message.
Use DDT module to slim down test suite.

Creat module `tests.foreman.api.test_multiple_paths`. This module contains
common tests that should be performed over and over again for a variety of URLs.
Move many of the tests from
`tests.foreman.api.test_{architecture,host,model,operatingsystem,organization}_v2`
into this module.
Implement method Factory.build()

New method creates all of a factory's dependencies, recursively, then generates
attributes for the current object. Update tests in module
`tests.robottelo.test_factory`.

Use new method to move more tests into module
`tests.foreman.api.test_multiple_paths`. Delete old, empty test modules.
Add HTTP PUT tests

Add tests that issue HTTP PUT requests to several URLs.
Merge pull request #975 from Ichimonji10/shrink-tests

Shrink test code, implement Factory.build()