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.