Ramdisk in the manifest, simplify initrd generation

We currently support loading a ramdisk for the primary. In fact, all
primaries are required to have one called 'initrd.img'. This makes
the ramdisk optional and specifies its filename in the manifest.

With that, generate_initrd.py loses the last remaining hardcoded
assumption about the structure of the Hafnium ramdisk. Refactor the
script and the build so that generate_initrd.py simply accepts a list of
(name in ramdisk, path on host) pairs.

Bug: 117551352
Change-Id: Iff2d70205940a1740c473d1cac34d5a05d6d6791
diff --git a/test/linux/manifest.dts b/test/linux/manifest.dts
index 71c891e..29e2075 100644
--- a/test/linux/manifest.dts
+++ b/test/linux/manifest.dts
@@ -23,6 +23,7 @@
 		vm1 {
 			debug_name = "linux_test";
 			kernel_filename = "vmlinuz";
+			ramdisk_filename = "initrd.img";
 		};
 
 		vm2 {