no support for negative uid/gid (lp:#682667)

[Original report](https://bugs.launchpad.net/bugs/682667) created by **Jamus Jegier (jamus+launchpad)**
```
duplicity 0.6.10
Python 2.6.1
Mac OS X 10.6.5 Server

Reproduction instructions:

mkdir test
touch test/test.txt
chown nobody:nobody test/test.txt
duplicity -v9 test file:///tmp/test2

Nobody has a UID/GID of -2.

Log:

Using archive dir:
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd
Using backup name: a8e08b1a8a3d633f5cd35a8446eaeddd
Import of duplicity.backends.botobackend Succeeded
Import of duplicity.backends.cloudfilesbackend Succeeded
Import of duplicity.backends.ftpbackend Succeeded
Import of duplicity.backends.giobackend Failed: No module named gio
Import of duplicity.backends.hsibackend Succeeded
Import of duplicity.backends.imapbackend Succeeded
Import of duplicity.backends.localbackend Succeeded
Import of duplicity.backends.rsyncbackend Succeeded
Import of duplicity.backends.sshbackend Succeeded
Import of duplicity.backends.tahoebackend Succeeded
Import of duplicity.backends.webdavbackend Succeeded
Main action: inc
================================================================================
duplicity 0.6.10 (September 19, 2010)
Args: /opt/local/bin/duplicity -v9 test file:///tmp/test2
Darwin jamus.org 10.5.0 Darwin Kernel Version 10.5.0: Fri Nov  5 23:20:39
PDT 2010; root:xnu-1504.9.17~1/RELEASE_I386 i386 i386
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
2.7 (r27:82500, Nov 10 2010, 13:13:43)
[GCC 4.2.1 (Apple Inc. build 5664)]
================================================================================
Using temporary directory /tmp/duplicity-rHj3Vh-tempdir
Registering (mkstemp) temporary file /tmp/duplicity-rHj3Vh-tempdir/mkstemp-
cScI30-1
Temp has 310436773888 available, backup will use approx 34078720.
Synchronizing remote metadata to local cache...
Deleting local
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-
full-signatures.20101129T135516Z.sigtar.gz (not authoritative at backend).
Deleting local
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-
full.20101129T135516Z.manifest (not authoritative at backend).
0 files exist on backend
0 files exist in cache
Extracting backup chains from list of files: []
Last full backup date: none
Collection Status
-----------------
Connecting with backend: LocalBackend
Archive dir: /Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd

Found 0 secondary backup chains.
No backup chains with active signatures found
No orphaned or incomplete backup sets found.
No signatures found, switching to full backup.
Using temporary directory
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-9KoRj8-tempdir
Registering (mktemp) temporary file
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-9KoRj8-tempdir/mktemp-
jzOUvt-1
Using temporary directory
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-
cho6d6-tempdir
Registering (mktemp) temporary file
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-
cho6d6-tempdir/mktemp-Ly_ulT-1
AsyncScheduler: instantiating at concurrency 0
Registering (mktemp) temporary file /tmp/duplicity-rHj3Vh-
tempdir/mktemp-4ghA_B-2
Selecting test
Comparing () and None
Getting delta of (() test dir) and None
A .
Selecting test/test.txt
Comparing ('test.txt',) and None
Getting delta of (('test.txt',) test/test.txt reg) and None
A test.txt
uid -2 of file signature/test.txt not in range. Setting uid to 60001

gid -2 of file signature/test.txt not in range. Setting gid to 60001
uid -2 of file snapshot/test.txt not in range. Setting uid to 60001
gid -2 of file snapshot/test.txt not in range. Setting gid to 60001
Removing still remembered temporary file
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-9KoRj8-tempdir/mktemp-
jzOUvt-1
Cleanup of temporary file
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-9KoRj8-tempdir/mktemp-
jzOUvt-1 failed
Removing still remembered temporary file
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-
cho6d6-tempdir/mktemp-Ly_ulT-1
Cleanup of temporary file
/Users/admin/.cache/duplicity/a8e08b1a8a3d633f5cd35a8446eaeddd/duplicity-
cho6d6-tempdir/mktemp-Ly_ulT-1 failed
AsyncScheduler: running task synchronously (asynchronicity disabled)
Writing /tmp/test2/duplicity-full.20101129T135529Z.vol1.difftar.gpg
Deleting /tmp/duplicity-rHj3Vh-tempdir/mktemp-4ghA_B-2
Forgetting temporary file /tmp/duplicity-rHj3Vh-tempdir/mktemp-4ghA_B-2
AsyncScheduler: task completed successfully
Processed volume 1
Writing /tmp/test2/duplicity-full-signatures.20101129T135529Z.sigtar.gpg
Writing /tmp/test2/duplicity-full.20101129T135529Z.manifest.gpg
3 files exist on backend
2 files exist in cache
Extracting backup chains from list of files: ['duplicity-full-
signatures.20101129T135529Z.sigtar.gpg', 'duplicity-
full.20101129T135529Z.manifest.gpg', 'duplicity-
full.20101129T135529Z.vol1.difftar.gpg']
File duplicity-full-signatures.20101129T135529Z.sigtar.gpg is not part of a
known set; creating new set
Ignoring file (rejected by backup set) 'duplicity-full-
signatures.20101129T135529Z.sigtar.gpg'
File duplicity-full.20101129T135529Z.manifest.gpg is not part of a known
set; creating new set
File duplicity-full.20101129T135529Z.vol1.difftar.gpg is part of known set
Found backup chain [Mon Nov 29 07:55:29 2010]-[Mon Nov 29 07:55:29 2010]
--------------[ Backup Statistics ]--------------
StartTime 1291038929.51 (Mon Nov 29 07:55:29 2010)
EndTime 1291038929.57 (Mon Nov 29 07:55:29 2010)
ElapsedTime 0.05 (0.05 seconds)
SourceFiles 2
SourceFileSize 102 (102 bytes)
NewFiles 2
NewFileSize 102 (102 bytes)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 2
RawDeltaSize 0 (0 bytes)
TotalDestinationSizeChange 240 (240 bytes)
Errors 0
-------------------------------------------------

Removing still remembered temporary file /tmp/duplicity-rHj3Vh-
tempdir/mkstemp-cScI30-1
```

Story points: 8.0