Updated the libvirt_domain_disk_add function so it accepts device nodes as block devices, removed the xflags parameter, as this is no longer relevant (and the function never gave xml to the outside anyway), added the cache and io options, to control caching behavior