Issue #14455: fix handling of unsigned long long values for binary plist files

Values in the range of an unsigned long long, but outside of the range
of a signed long long were serialized as a negative value.

Due to a bug in PyObjC my test scripts indicated that the previous behavior
matched Apple's plist code, instead the handle large unsigned values correctly.

The change to plistlib.py is from a patch by Serhiy.
5 files changed