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.
location tests UI: Added remove entity testcases
location tests: Fix for travis
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.
Fix `make graph-entiites` command

A recent PR more fully implemented `OneToManyField`s. This is good. However,
that PR also broke the graph-entities script. This commit inserts some
type-checking into `scripts.graph-entities`, thus fixing the breakage which
occurred when `OneToManyField`s were improved.

Also:

* Create an `Errata` entity. The entity is read-only.
* Visually distinguish between entities which are factories and entities which
  are not. This makes it easier to determine how much progress has been made in
  creating factories.
Replaced assertISNotNone for assertTrue as the check here is object is not None rather than a boolean value
Merge pull request #975 from Ichimonji10/shrink-tests

Shrink test code, implement Factory.build()
Merge pull request #976 from Ichimonji10/graph-entities

Fix `make graph-entities` command
Merge pull request #974 from kbidarkar/location-tests3

Location tests3