Handle .sig file when signing fails

Change gpgme_sign function to handle the case of an empty .sig file when
signing fails. Function has been changed to return 0 on success and gpg error
code on failure (only in the case of signing failure). If the function returns
a non zero code the .sig file is unlinked.

Might be a good idea to change some errx function calls to return gpg codes
instead and handle them from database.c rather than from alpm/signing.c