Finish up gpg key support and make repo create/publish more generic

Finish up the gpg key support that was mostly there and allow for putting
the keys/passphrase in a pillar. This should also work with no passphrase in
the pillar so long as you use some sort of gpg agent, etc.

Also make the repo creation/publishing a little more generic and configurable
via pillar data. This works here, but could probably be extended a little as
well.