Duplicity crashes on cleanup delete (lp:#771704)

[Original report](https://bugs.launchpad.net/bugs/771704) created by **Steve Hand (steve-zzs)**
```
Running duplicity 0.6.13 on my S3 backupset after I was warned of orphaned
backups.
Python 2.4.3
Centos 5.6

duplicity -v9 cleanup --force s3+http://sticky-
backup.zzs.co/server/share/Customers
Using archive dir: /root/.cache/duplicity/260dec5c57853f7f26336ba040c6ab33
Using backup name: 260dec5c57853f7f26336ba040c6ab33
Import of duplicity.backends.rsyncbackend Succeeded
Import of duplicity.backends.botobackend Succeeded
Import of duplicity.backends.imapbackend Succeeded
Import of duplicity.backends.localbackend Succeeded
Import of duplicity.backends.hsibackend Succeeded
Import of duplicity.backends.ftpsbackend Succeeded
Import of duplicity.backends.sshbackend Succeeded
Import of duplicity.backends.ftpbackend Succeeded
Import of duplicity.backends.cloudfilesbackend Succeeded
Import of duplicity.backends.webdavbackend Succeeded
Import of duplicity.backends.giobackend Failed: No module named gio
Import of duplicity.backends.tahoebackend Succeeded
Main action: cleanup
================================================================================
duplicity 0.6.13 (April 02, 2011)
Args: /usr/bin/duplicity -v9 cleanup --force s3+http://sticky-
backup.zzs.co/server/share/Customers
Linux backup.zzs.co 2.6.18-238.5.1.el5 #1 SMP Fri Apr 1 18:41:58 EDT 2011
x86_64 x86_64
/usr/bin/python 2.4.3 (#1, Mar  5 2011, 21:26:05)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]
================================================================================
Local and Remote metadata are synchronized, no sync needed.
0 files exist on backend
3 files exist in cache
Extracting backup chains from list of files: ['duplicity-
inc.20110426T141842Z.to.20110427T040006Z.manifest.part', 'duplicity-new-
signatures.20110426T141842Z.to.20110427T040006Z.sigtar.part', 'duplicity-
new-signatures.20110426T103039Z.to.20110426T141842Z.sigtar.part']
File duplicity-inc.20110426T141842Z.to.20110427T040006Z.manifest.part is
not part of a known set; creating new set
File duplicity-new-
signatures.20110426T141842Z.to.20110427T040006Z.sigtar.part is not part of
a known set; creating new set
Ignoring file (rejected by backup set) 'duplicity-new-
signatures.20110426T141842Z.to.20110427T040006Z.sigtar.part'
File duplicity-new-
signatures.20110426T103039Z.to.20110426T141842Z.sigtar.part is not part of
a known set; creating new set
Ignoring file (rejected by backup set) 'duplicity-new-
signatures.20110426T103039Z.to.20110426T141842Z.sigtar.part'
Found orphaned set Wed Apr 27 05:00:06 2011
Warning, found the following local orphaned signature files:
duplicity-new-signatures.20110426T103039Z.to.20110426T141842Z.sigtar.part
duplicity-new-signatures.20110426T141842Z.to.20110427T040006Z.sigtar.part
Warning, found the following orphaned backup file:
[duplicity-inc.20110426T141842Z.to.20110427T040006Z.manifest.part]
Last full backup date: none
Collection Status
-----------------
Connecting with backend: BotoBackend
Archive dir: /root/.cache/duplicity/260dec5c57853f7f26336ba040c6ab33

Found 0 secondary backup chains.
No backup chains with active signatures found
Also found 1 backup set not part of any chain,
and 0 incomplete backup sets.
These may be deleted by running duplicity with the "cleanup" command.
Deleting these files from backend:
duplicity-new-signatures.20110426T103039Z.to.20110426T141842Z.sigtar.part
duplicity-new-signatures.20110426T141842Z.to.20110427T040006Z.sigtar.part
duplicity-inc.20110426T141842Z.to.20110427T040006Z.manifest.part
Using temporary directory /tmp/duplicity-hBHUX6-tempdir
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1250, in ?
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1243, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1205, in main
    cleanup(col_stats)
  File "/usr/bin/duplicity", line 699, in cleanup
    col_stats.backend.delete(ext_remote)
  File "/usr/lib64/python2.4/site-
packages/duplicity/backends/botobackend.py", line 295, in delete
    self.bucket.delete_key(self.key_prefix + filename)
AttributeError: 'NoneType' object has no attribute 'delete_key'
```

Story points: 6.0