Backup fails: "secret key not available" with key available. (lp:#1794808)

[Original report](https://bugs.launchpad.net/bugs/1794808) created by **Marijn Vriens (marijnvriens)**
```
Hi,

I have the issue that when I have a full-backup that I break-off half-way
for whatever reason, trying to restart/redo the backup later fails:

================================================================================
duplicity 0.7.18 (August 21, 2018)
Args: /usr/local/bin/duplicity --verbosity i --asynchronous-upload --full-
if-older-than 3M --encrypt-key 0xD58004C930983622 --sign-key
0xD371AC4B4CC1A2AB /home/marijn --exclude-filelist
/home/marijn/.duplicity/list.txt webdavs://something/something
Linux muis2 4.15.0-34-generic #37~16.04.1-Ubuntu SMP Tue Aug 28 10:44:06
UTC 2018 x86_64 x86_64
/usr/bin/python2 2.7.12 (default, Dec  4 2017, 14:50:18)
[GCC 5.4.0 20160609]
================================================================================
...
WebDAV data length: 4
WebDAV response status 200 with reason 'OK'.
GPG error detail: Traceback (innermost last):
  File "/usr/local/bin/duplicity", line 1567, in <module>
    with_tempdir(main)
  File "/usr/local/bin/duplicity", line 1553, in with_tempdir
    fn()
  File "/usr/local/bin/duplicity", line 1405, in main
    do_backup(action)
  File "/usr/local/bin/duplicity", line 1426, in do_backup
    sync_archive()
  File "/usr/local/bin/duplicity", line 1216, in sync_archive
    copy_to_local(fn)
  File "/usr/local/bin/duplicity", line 1164, in copy_to_local
    gpg.GzipWriteFile(src_iter, tdp.name, size=sys.maxsize)
  File "/usr/local/lib/python2.7/dist-packages/duplicity/gpg.py", line 447,
in GzipWriteFile
    new_block = block_iter.next()
  File "/usr/local/bin/duplicity", line 1144, in next
    self.fileobj.close()
  File "/usr/local/lib/python2.7/dist-packages/duplicity/dup_temp.py", line
227, in close
    assert not self.fileobj.close()
  File "/usr/local/lib/python2.7/dist-packages/duplicity/gpg.py", line 305,
in close
    self.gpg_failed()
  File "/usr/local/lib/python2.7/dist-packages/duplicity/gpg.py", line 272,
in gpg_failed
    raise GPGError(msg)
 GPGError: GPG Failed, see log below:
==== Begin GnuPG log =====
gpg: encrypted with 4096-bit RSA key, ID 0xCC15A5FC57E98B61, created
2018-06-15
"Marijn P. Vriens <marijn.vriens@example.com>"
gpg: decryption failed: secret key not available
===== End GnuPG log =====

Which is weird in various ways.

1) The secret key is, in fact, available on the machine.
2) It's reporting the ID of a subkey (see below) not the ID of the master
key.
3) This key is used to --encrypt-key, so no private key should be
necessary, in the first place.

$ gpg --list-secret-keys
/home/marijn/.gnupg/pubring.gpg
-------------------------------
sec#  rsa4096/0xD58004C930983622 2015-11-14 [C] [expires: 2019-12-07]
uid                   [ultimate] Marijn P. Vriens
<marijn.vriens@example.com>
ssb   rsa4096/0x952F274190FC721C 2018-06-15 [S] [expires: 2018-12-12]
ssb   rsa4096/0xCC15A5FC57E98B61 2018-06-15 [E] [expires: 2018-12-12]
ssb   rsa4096/0x9184AE674604012D 2018-06-15 [A] [expires: 2018-12-12]

sec   rsa4096/0xD371AC4B4CC1A2AB 2016-07-18 [SC]
uid                   [ultimate] muis machine
ssb   rsa4096/0x56F8EEA2EC17E17B 2016-07-18 [E]

Removing the files that where created on the backup location by the broken-
off process works sometimes. Other times it keeps failing with this
message, even after removing all created files. I have no idea what's the
difference, but it leaves me with no choice but to use a different
directory to back-up into.

I'm suspecting that Duplicity is having issues with the fact that I'm using
GPG subkeys, and fails to select the correct-secret key because of that.
but i'm not certain of that.
```

Story points: 6.0