CA-145335: Switch to a record based model to create tapdisk3 statistics.

Prior to this patch, we used to return large tupes and process each
element individually to create the datasources. We now use a record to
hold sysfs_stats and another to hold blktap3 stats.

Signed-off-by: Siddharth Vinothkumar <siddharth.vinothkumar@citrix.com>
CA-145335: Add new datasources exposed by tapdisk3

Prior to XS6.5, a VM's metrics were supplied by xcp-rrdd,
xcp-rrd-iostat, etc... Originally, these metrics were created by reading
counters from `sysfs`. With tapdisk3, we read the statistics exposed
under '/dev/shm' to create these datasources.
The newly exposed counters are:
* vbd_<X>_iowait
* vbd_<X>_inflight
* vbd_<X>_iops_read
* vbd_<X>_iops_write
* vbd_<X>_iops_total
* vbd_<X>_io_throughput_total

Metrics like vbd_<X>_io_throughput_read and vbd_<X>_io_throughput_write
are redundant.

Signed-off-by: Siddharth Vinothkumar <siddharth.vinothkumar@citrix.com>
Merge pull request #1955 from siddharthv/blktap3_rrdp_io

CA-145355: Make xcp-rrdd report all stats exposed by tapdisk3