bplist: Fix memory leaking caused by unused nodes in plist_from_bin()
xplist: Silence compiler warnings about shadowing global declarations
Added Doxygen comments to explicitly describe memory buffer ownership/responsibility.
Rename "index" variable as it shadows global declaration on older systems
Redo PLIST_WARN_DEPRECATED macro to work with older llvm/clang
Removed plist_set_type() as it should not be used.
Free memory when need. Found by clang analyzer
Add valgrind support to make check.