Make entity GPGKey a factory, and test it

The key to making GPGKey an entity was to provide a value for the key itself.
That done, things work out just fine.

The updated tests do contain one new failure.  When fetching a GPG key from a
Foreman server, the server will return the key's organization ID like this:

    {'organization_id': N, ...}

Whereas this is what is expected:

    {'organization': N, ...}

This bears further investigation, as it may be a regression.
Merge pull request #1155 from Ichimonji10/gpgkey-api

Make entity GPGKey a factory, and test it
Create and use decorator `skip_if_bug_open`

This decorator can be used wherever `skip_if_bz_bug_open` or
`skip_if_rm_bug_open` are used. Therefore, also replaces all occurences of them
with `skip_if_bug_open`.

This change is, by itself, simply a refactoring of existing code. It replaces
two enormously complicated functions with a single class that (by virtue of
having an `__init__` and `__call__` method) better manages complexity. This
alone is a good and worthwhile change. However, a second benefit is that the new
decorator can be more easily parameterized with additional arguments. This
should make it possible to, say, adapt this decorator for use within module
`tests.forem.api.test_multiple_paths`.

Also, demote two logging statements from "info" priority to "debug" priority.
It's mildly useful to know when a bug is first being fetched; it's less useful
to know every single time that bug is fetched from a local cache.
Skip known-failing tests.

Issuing an HTTP POST request without the necessary credentials produces an HTTP
500, whereas it should produce and HTTP 401. Skip a set of tests which are known
to fail for this reason.