Added test for removehostcollection for activationkey
Add a test targeting BZ 1097054

Assert that it is not possible to update an activation key's max content hosts
to a string value. The test succeeds, which indicates that the bug has been
fixed.
Add API tests for LifecycleEnvironment and GPGKey

Add several API tests which target the following URLs:

* `katello/api/v2/gpg_keys`
* `katello/api/v2/environments`

Many tests were already in place for GPG keys. However, there was no test for
issuing a GET to `katello/api/v2/gpg_keys`. This commit fixes that. In contrast,
there were no tests for lifecycle environments, and this commit adds a basic set
of HTTP POST and GET requests for lifecycle environments.
Fixed the test as per the comment
Fixed the failing repository tests
Fixed validation error locators for foreman entities
Fixed the failing repository tests as per the comments
Merge pull request #1175 from Ichimonji10/api-tests

Add API tests for LifecycleEnvironment and GPGKey
Merge pull request #1176 from Ichimonji10/bz-1097054

Add a test targeting BZ 1097054
Merge pull request #1172 from tkolhar/test_cli

Added test for removehostcollection for activationkey
Merge pull request #1177 from tkolhar/test_cli_second

Fixed the failing repository tests
Fix several issues with documentation

* Fix a broken class reference.
* Add a missing module to the API docs.
* Fix gobs of badly formatted docstrings.
Merge pull request #1183 from Ichimonji10/sweep-the-floor

Fix several issues with documentation
Remove mistake-prone code

Consider how weird it is that these two calls are equivalent:

    response = client.get(
        'https://example.com/katello/api/v2/environments',
        auth=get_server_credentials(),
        verify=False,
        params={'organization_id': 5},
    )
    response = client.get(
        'https://example.com/katello/api/v2/organizations/5/environments',
        auth=get_server_credentials(),
        verify=False,
    )

The above demonstrates that the API lacks orthogonality, which is bad. However,
things then get ugly. Consider this code:

    response = client.get(
        'https://example.com/katello/api/v2/organizations/5/environments',
        auth=get_server_credentials(),
        verify=False,
        params={'organization_id': 6},
    )

What will happen? **We have undefined behaviour.** Rather than allowing
ourselves to make this mistake, it is best if:

* We do not provide arguments via a URL, when possible.
* We do provide arguments as JSON data, when possible.
Merge pull request #1182 from Ichimonji10/duplicate-params

Remove mistake-prone code
Add API tests for api/v2/roles

* Add a full suite of tests targeting the "Role" entity.
* `EntityTestCase.test_get_status_code` targets bugzilla bug 1102732. The test
  passes, which indicates that the bug has been fixed.
* `api/v2/roles` suffers from bugzilla bug 1118015, and this is addressed in the
  updated test suite.
* The existing entity had an incorrect API path, and this has been fixed.
  (perhaps it has changed?)
* Creating tests for this URL has revealed another error, which is documented in
  bugzilla bug 1129785. Also, this PR contains tests targeting that specific
  bug.
Merge pull request #1180 from sghai/fix-negative-test

Fixed validation error locators for foreman entities
Merge pull request #1181 from Ichimonji10/bz-1102732

Add API tests for api/v2/roles
Expand API test coverage

It would be good if every entity was mentioned within `test_multiple_paths.py`.
The tests in thie file should not actually be executed for every entity, but
when not, a reason should be noted.

Slightly expand test coverage by adding ActivationKey and User entities to each
test.
Merge pull request #1184 from Ichimonji10/api-tests

Expand API test coverage