bplist: Avoid heap buffer allocation when parsing array/dict/string/data node sizes > 14
bplist: Avoid heap buffer allocation when parsing array/dict/string/data node sizes > 14

The sizes where effectively parsed by calling parse_uint_node() which
allocates a node_t (along with plist_data_t) that is immediately freed
after retrieving the integer value it holds.
This commit changes the code to directly operate on the binary stream
to 'just' read the size instead, reducing the memory footprint further.

Tatsh/libplist,Tatsh/libplist,Tatsh/libplist,libimobiledevice/libplist,Tatsh/libplist,libimobiledevice-win32/libplist,libimobiledevice-win32/libplist,libimobiledevice-win32/libplist,libimobiledevice/libplist,libimobiledevice-win32/libplist,libimobiledevice/libplist