Fix logic in GPG.sign_file().

 * Fixes #1928.
 * If a user specified both clearsign=True and detach_sign=True, then the
   original logic would go through the `if detach:` portion of the code,
   appending to the argument string `"--detach-sign"` and then skip the `elif
   clearsign:` block, which would mean that the default behaviour would be to
   use --detach-sign, when the standard default behaviour for GnuPG, if it
   receives both --detach-sign and --clearsign, is to only do --clearsign.
Merge branch 'fix/1928-sign-file-logic-error' into development