libyaml integration

YAML is an ugly mess and the only reasonable C parser I found for it was https://php-yaml.googlecode.com/svn-history/trunk/parse.c

This CFEngine-specific implementation maps YAML into our in-house JSON library, so timestamps and many other advanced YAML features are not supported.  I did the best I could but this could use some review and tough love.  It could also use the same testing as `readjson()`.

The user-facing functions `readyaml()` and `parseyaml()` are provided, with acceptance tests.

Finally, if it's accepted, the function `writeyaml()` (not trivial but doable) will be needed.
I assume this is because the YAML parser owns the internal strings within the JSON data, correct?