Update to handle XML-to-JSON more faithfully

The converion of a sadf XML output to a JSON document is made a bit more
faithfully to how later version of sadf emit JSON.

First, we add support for the "filesystems" element.

Second, we merge "process" and "context-switch" elements into one
"process-and-context-switch" entry, matching the output of the latest
versions of sadf.

Third, "cpu-load" elements are renamed to "cpu-load-all", with "number"
attributes renamed to "cpu", "user" renamed to "usr", and "system" to
"sys", matching.

Fourth, the "dev" attribute is renamed to "disk-device".

Fifth, the kernel attributes, "file-sz" and "inode-sz" are changed to
end in "-nr".

Sixth, we now work to emit multi-line dictionaries only when they
contain other dictionaries, or are special cases, e.g. sysdata-version,
or the "host" element entries.

Seventh, we map the per-processor interrupts reported in older versions
to its own entry, "interrupts-processor".

Finally a few checks are made to ensure the arguments make sense.

On the testing front, a very brute-force approach to testing output is
correct is applied via a simple script comparing expected output. It
takes a bit to run, and is really in-elegant to be generous, but gets
the job done with very little effort applied for now.