remove unused imports
gkeys: Add key-search action

Add _list_search() sub function.
Add category output and grouping.
Fix arg as a list searching as well as seed values as a list.
Use recursion to get to single value searches.
Make nick search to be partial unless --exact specified.
Move main key_search code to SeedHandler class, it is much better suited to this class.
Add 1name subparser option for single name entries only
Add seen tracking in key_search to eliminate duplicates
Add --all option to key-search
If --all is specified, it filters out search results to match a seed for all criteria specified.
gkeys: Move all GKEYS definitions to it's own file

Fix imports in other files.
gkeys/gkey.py: Add keys and uid fields, update() to GKEY

keys field will hold the primary key fingerprints for the (to be/) installed GKEY.
fingerprints and uid fileds will be populated with all uid's and fingerprints defined in subkeys using the update().
gkeys: Add keys and uid options to actions and seed handling

Add code to auto-update existing installed gkey.seeds files with the additional data.
gkeys/lib.py: Add the new GKEY.update() to add_key and refresh_key

This updates our installed gkey.seed with all fingerprints including sub-keys and uid's.  This way searches for keys used to sign files can be found if the key used to sign the file was not a primary key.
gkeys/actions.py: Add auto-search capability to verify

If verification fails with NO_PUBKEY, it then does a search for the correct verification keyring to verify with.
gkeys/actions.py: Improve verification messages and info
gkeys/actions.py: Fix broken key-search printing
gkeys/gkey.py: Separate uid string printing for list type output
gkeys/actions.py: Add uid search support
gkeys/actions.py: Alignment tweak for key-search message
gkeys/exception.py: Initial creation of GkeyException classes

Mostly copied, modified from PortageException code.
gkeys: Add UpdateDbError exception usage
gkeys/actions.py: Rename key-search action to search-key for consistency
gkeys/base.py: Sort the _option_* functions
gkeys: Remove the need to import gkeys seed.py and lib.py

Pass in the logger to GkeysGPG initialization.
Pass in logger to Seeds class initialization.
This removes the need to import and set the logger in base.py.
It can then be used in gkeys-gen and gkeys-ldap without those imports.
Remove no longer needed imports.
gkeys/config.py: Make it possible to read more than one config file

Save homedir to the config class for re-use in gkeys-gen
multiple configs fix
gkeys/config.py: Move default config file setting to a function

Make homedir initialzation part of the defaults options for consistency.
Move the default user config file into a ~/.gkeys/ sub-directory
gkeys-gen: Initial migration to use gkeys.base.CliBase class

Add a new gkeys-gen specific config file extension to gkeys.conf.
Change gpghome to use the configured gpg-home setting.
Remove default SPEC and GPG_CONF settings, use configured ones.
bin/gkey-gen update exit.