BPackageInfo::StringBuilder: Fix string escaping
BPackageInfo::StringBuilder: Fix writing non-string lists

Even a list with only one element needs to be enclosed in {...}.
BPackageInfo::Parser: Fix parsing the requires operator

For entries without operator (and version) an invalid enum value would
be used for the resulting BPackageResolvableExpression. Now it's
B_PACKAGE_RESOLVABLE_OP_ENUM_COUNT in that case.
Update requires entries for the packages we build

* Add build tool update_package_requires. Given a package info file and
  a repository cache file, it updates the minimum versions of the
  requires entries of the package info file according to what is
  provided by the repository.
* PreprocessPackageInfo rule: Use update_package_requires (with the
  HaikuPorts repository file).