libxkutil:device_parsing: Coverity cleanups
libxkutil:device_parsing: Coverity cleanups

A new version of Coverity found a number of issues:

parse_os(): RESOURCE_LEAK
  - A benign issue due to using a for() loop in order to process the
    XML fields.  Although it's not possible to have a second entry with
    the same text, Coverity doesn't know that so flagged each of the
    get_attr_value() calls with a possible overwrite of allocated memory.
    In order to "fix' that - just check for each being NULL prior to
    the setting - a benign fix that shuts Coverity up

  - A real issue was found - the 'loader' variable wasn't free()'d

parse_console_device(): RESOURCE_LEAK

  - A benign issue due to using a for() loop in order to process the
    XML fields results in 'target_port_ID' and 'udp_source_mode' being
    flagged for possible overwrites. For the 'udp_source_mode' changed
    the code to declare, use, free only within the scope of the case.

libvirt/libvirt-cim,libvirt/libvirt-cim,libvirt/libvirt-cim