qemu: Alter qemuMonitorJSONSetBlockIoThrottle command logic
qemu: Alter qemuMonitorJSONSetBlockIoThrottle command logic

Currently we build the JSON object for the "block_set_io_throttle"
command using the knowledge that a NULL for a support*Options boolean
would essentially ignore the rest of the arguments.

This may not work properly if some capability was backported, plus it just
looks rather ugly. So instead, build the "base" arguments and then if
the support*Option bool capability is set, add in the arguments on the fly.

Then append those arguments to the basic command and send to qemu.

eskultety/libvirt,jardasgit/libvirt,olafhering/libvirt,zippy2/libvirt,andreabolognani/libvirt,VenkatDatta/libvirt,eskultety/libvirt,jfehlig/libvirt,jfehlig/libvirt,VenkatDatta/libvirt,crobinso/libvirt,nertpinx/libvirt,datto/libvirt,crobinso/libvirt,andreabolognani/libvirt,datto/libvirt,datto/libvirt,libvirt/libvirt,zippy2/libvirt,nertpinx/libvirt,jfehlig/libvirt,andreabolognani/libvirt,taget/libvirt,nertpinx/libvirt,taget/libvirt,jardasgit/libvirt,datto/libvirt,datto/libvirt,fabianfreyer/libvirt,taget/libvirt,libvirt/libvirt,libvirt/libvirt,fabianfreyer/libvirt,eskultety/libvirt,crobinso/libvirt,olafhering/libvirt,VenkatDatta/libvirt,eskultety/libvirt,andreabolognani/libvirt,fabianfreyer/libvirt,jardasgit/libvirt,olafhering/libvirt,zippy2/libvirt,taget/libvirt,andreabolognani/libvirt,crobinso/libvirt,VenkatDatta/libvirt,jardasgit/libvirt,nertpinx/libvirt,libvirt/libvirt,taget/libvirt,zippy2/libvirt,olafhering/libvirt,VenkatDatta/libvirt,nertpinx/libvirt,fabianfreyer/libvirt,jardasgit/libvirt,fabianfreyer/libvirt,eskultety/libvirt,jfehlig/libvirt