Fix Plist parsing of binary blobs

This handles binary blobs by interpreting their data as an NSString (ultimately resulting in a std::string after parsing is completed). It leaves it up to the user of the API to determine what to do with the bytes stored in the resulting string.
Yes, and the test plist is committed (see below).