Adding support for GPG keys via hammer cli.

Added support for GPG keys via Hammer CLI, including a factory method.
The following pieces of imformation are important to take into
consideration when writing the tests:

* Most, if not all, subcommands that are derived from Katello will
  require ``organization-id`` as an argument for some of its actions.
  For instance, ``hammer gpg list`` will *not* give you a list of all
  available gpg keys in the system, but only those keys for the provided
  ``organization-id``.
* Searching for Katello subcommands follows *ElasticSearch* syntax. So,
  instead of:

```bash
$ hammer gpg list --search name='foo'
```

You have to use:

```bash
$ hammer gpg list --search name:'foo'
```

* The following issues have been found and filed:
  * http://projects.theforeman.org/issues/4272
  * http://projects.theforeman.org/issues/4271
  * http://projects.theforeman.org/issues/4263
  * http://projects.theforeman.org/issues/4262