[ARM] Load guest images from disk for pre-configured guests

Currently, we depend upon bootloaders to load guest images for all
pre-configured guests created via bootcmd. This approach makes Xvisor
depend too much upon bootloaders to load files and number of files
to be loaded by bootloaders also increases with increasing number of
pre-configured guests.

This patch introduces new approach of loading guest images for all
pre-configured guests from some kind of disk (or block device) and
there-by making our guest image loading more concrete and scalable
to increasing number of guests. For ARM host not having any HW disk
(or HW block device), we use RAM backed block device (i.e. RBD device)
as disk containing guest images.

As per the new approach, Xvisor ARM booting will always require three
things for booting:
1. Xvisor binary (vmm.bin or uvmm.bin)
2. Xvisor host flattened device tree binary (i.e. DTB)
3. Xvisor disk containing guest images (i.e. RBD or SD or MMC or SATA)

Please note Xvisor host flattened device tree can also be compiled and
linked to Xvisor binary itself.

The new approach is not mandatory and folks can still use old method
of depending on bootloaders to load guest images.

Signed-off-by: Anup Patel <anup@brainfault.org>