virCPUx86DataGetHost: Fix construction of the returned data
virCPUx86DataGetHost: Fix construction of the returned data

The function returns 'virCPUData' but doesn't do two important steps
which other code takes:

1) leaves with all-zero data is stripped from the XML output
2) the data is expected to be sorted in the array

Now the 'virHostCPUGetCPUID' helper returns both all 0 leaves and
doesn't order them as we expect.

If this is then used in conjunction with 'virCPUx86DataIsIdentical'
together with data which made a roundtrip to XML and back the result
will be always false even if the data itself is identical.

Signed-off-by: Peter Krempa <2cf5c04c61aa466e4a47bfedc747d17279c72ffc@redhat.com>
Reviewed-by: Jiri Denemark <62bdf77dc47919a4d59a91822129d14633cfca81@redhat.com>
Reviewed-by: Michal Privoznik <83d82aaba2eed257f4814b0c239c260c4caaadf0@redhat.com>

olafhering/libvirt,libvirt/libvirt,libvirt/libvirt,olafhering/libvirt,jfehlig/libvirt,zippy2/libvirt,crobinso/libvirt,jfehlig/libvirt,crobinso/libvirt,libvirt/libvirt,jfehlig/libvirt,zippy2/libvirt,libvirt/libvirt,crobinso/libvirt,zippy2/libvirt,zippy2/libvirt,jfehlig/libvirt,olafhering/libvirt,crobinso/libvirt,olafhering/libvirt