Add vendor-ramdisk image to Soong.

Add vendor_ramdisk_available and vendor_ramdisk attribute to
various rules. When a vendor_ramdisk variant of a module is
generated, it is installed to $OUT/vendor-ramdisk.

It is similar to a ramdisk image.
Test: m nothing -j

Change-Id: Ib2d16459f3094dbe21c3bdb7c016cb4b2bf62765
diff --git a/sh/sh_binary.go b/sh/sh_binary.go
index e807877..6f40ae4 100644
--- a/sh/sh_binary.go
+++ b/sh/sh_binary.go
@@ -68,6 +68,9 @@
 	// Make this module available when building for ramdisk.
 	Ramdisk_available *bool
 
+	// Make this module available when building for vendor ramdisk.
+	Vendor_ramdisk_available *bool
+
 	// Make this module available when building for recovery.
 	Recovery_available *bool
 }
@@ -176,6 +179,10 @@
 	return proptools.Bool(s.properties.Ramdisk_available) || s.ModuleBase.InstallInRamdisk()
 }
 
+func (s *ShBinary) VendorRamdiskVariantNeeded(ctx android.BaseModuleContext) bool {
+	return proptools.Bool(s.properties.Vendor_ramdisk_available) || s.ModuleBase.InstallInVendorRamdisk()
+}
+
 func (s *ShBinary) RecoveryVariantNeeded(ctx android.BaseModuleContext) bool {
 	return proptools.Bool(s.properties.Recovery_available) || s.ModuleBase.InstallInRecovery()
 }