Request signature on manifest before uploading pack

Just to ensure that the user signs the push before we upload any files
(pack or manifest) to the remote.
Use URL fragment for repository id instead of G.*
Use config gcrypt.participants for GPG key ids

Instead of using a separate keyring file (gcrypt.keyring is now
deprecated!), use a simple list of key ids. Extract all keyids and use
these to match GOODSIG <keyid> manually on the gpg status output.

The gcrypt.keyring variable is still used, but it will be removed later.