set --trust-model=always when encrypting

Otherwise gpg may prompt to verify if we want to encrypt to users who
do not have a defined trust level. But, the participants setting
explicitly listed them, so we know we want to encrypt to them.

closes #3
add remote.<name>.gcrypt-signingkey config

This is needed by git-annex assistant when it sets up a gcrypt repository,
to ensure that the gpg key it was asked to use to encrypt the repo is the
same key used to sign it. If it's not, pulling from the repo won't work,
due to git-remote-gcrypt's "Only accepting signatories" check.

The user may have a global user.signingkey setting (I do), but be setting
up a different special-purpose key for encrypting their git repo. The
git-annex assistant cannot mess with the global value, so needs this to
override it.
Better signature validation for subkeys.
--check option to see if a repo exists and can be decrypted

This is to allow programs to determine if a repo uses gcrypt, per #6.

Since this program already knows the name of the manifest file and how to
download it and decrypt it, it makes sense to do the check here rather than
in, eg, git-annex.
improve docs
Merge branch 'better_signature_validation' of https://github.com/jburnham/git-remote-gcrypt
stop passing --fast-list

For unknown reasons, it makes --list-keys sometimes not show fingerprints
of certian keys.
remove any git config for dummy-gcrypt-check remote

The gcrypt-id is cached to there when running --check