Add support for Xen machine addresses

The kdump_read() function needs a flag to distinguish between physical
addresses and machine addresses in case of Xen dumps.

The backend provides an additional ops function for reading machine
addresses. If the pointer is NULL, attempts to read using Xen machine
addresses fails with kdump_unsupported.

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>
Implement kdump_read_string()

This function can be used to read NUL-terminated strings from the dump
file efficiently.

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>
API for reading Xen hypervisor version

The major and minor version is stored as integers, but the rest is
a string in Xen machine address space.

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>