Update libucl to the latest version
Add a function to convert yaml to inlined yaml then parse it via ucl.
Remove debug
Add fallback to yaml parsing.

First try to load pkg.conf via ucl, if failed fallback on yaml. if ok,
Validate the entry against the formats that can be parsed differently in
yaml and ucl, if one of them is not the expected type, then fallback on
yaml.

If the parsing has fallback on yaml, then notify the user and prompt him
the converted version of his pkg.conf file
Better format the suggested new format
Directly create ucl object out of yaml nodes

This is safer than relying on ucl to always properly read inlined yaml.
Remove debug
Add a new UCL_EMIT_YAML to emit ucl in yaml compatible format
Load repository configuration in ucl and fallback on json
Fallback as soon as possible
Properly set the signature type if pubkey is set in pkg.conf
Factorize pkg_repo creation
Replace custom vulnxml_dup_str by strndup
Fallback on NOMIRROR when chosing mirror_types
Do not warn twice (and incorrectly so) about the same issue in do_extract.
When pkg add fails and we try to clean up what we may have installed
already, be silent about failures doing so (since things may not have
been installed actually).

Change the force parameter of pkg_delete_files() from a boolean to a
tri-state on the implementation side and a add bit of documentation.
Duplicate the body of the utstring when returning it

Otherwise utstring_free will free it.
Wording
Better format new recommanded repository configuration format
Remove useless err.h