Let git ignore plist files generated by the Clang analyzer
Changed opk_sqfs_extract_file() to return buffer length as well

The same change should be applied to opk_extract_file() too, but this
first step can be done without changing the library's interface. The
reason why buffer length must be output is that it is unsafe to just
assume that whatever data is passed in the buffer is complete:
a truncated file should not crash the application.
Split off .desktop parsing code into separate function
Separate parameter parsing from code inserting it into linked list
Avoid poking into extracted metadata buffer

This eliminates the need for the hack in opk_sqfs_extract_file() that
allocated one byte more such that the terminating zero char could be
inserted there. The hackish part of this being that unsqfs.c contained
knowledge of libopk.c, which violates the layered design.

This also opens the way for opk_sqfs_extract_file() returning a
read-only buffer in the future, which could avoid copies in some cases
by returning direct pointers to internal buffers.

In this commit copies were added in the form of strndup() calls.
However, I'm planning to offer next_param() as a public function in the
upcoming API update, which means the caller would decide whether to use
strndup() or not. Note that the strings are only valid until the next
metadata file is processed, so callers that want to keep the strings
already need to make copies.
Added support for skipping comment lines in .desktop files
Only parse [Desktop Entry] group

The spec states this must be the first group in the file, but other
groups can follow. We shouldn't return keys from those other groups.
Improved parsing of key-value lines in .desktop files

The main difference is that whitespace before or after the equals sign
is now ignored, as required by the spec. The old code returned such
whitespace as part of the key or value.