fix UID parsing

According to Apple's Object Table for binary plist files (http://www.opensource.apple.com/source/CF/CF-476.15/CFBinaryPList.c), a UID's length is determined by the second 4 bits + 1. The current implementation handles them as Integers though (2 ^ (second 4 bits)).

This fixes the UID parsing.