lib/exml: invoke stash cb for paths with empty values
lib/exml: invoke stash cb for paths with empty values

If a path is found, but no corresponding value is present, then
currently the finder is moved to the finders_val_wait list, but not
processed any further.
This change ensures that a stash callback is invoked for all found
paths, by checking for finders_val_wait entries during exml_el_end_cb().
These found path-with-no-value entries invoke a new
exml_finder_empty_val_stash() handler, which stashes an empty string
(for string types), or propagates the callback up to the wanter, also
with an empty "" string. Non-string/non-cb type wanters will retrieve
an early empty-string-doesn't-map-to-type error, regardless of whether
or not the wanter flagged the path as @required.

Signed-off-by: David Disseldorp <589a549dc9f982d9f46aeeb82a09ab6d87ccf1d8@suse.de>

ddiss/elasto,ddiss/elasto