Change SuperImageProperties.Block_devices to be a slice of string

There are some products have empty BOARD_SUPER_PARTITION_BLOCK_DEVICES,
which is valid. But the previous super image logic didn't handle
it correctly. This CL fixes the issue.

Test: CI and verified on the product that has PRODUCT_BUILD_SUPER_PARTITION
      true and empty BOARD_SUPER_PARTITION_BLOCK_DEVICES
Change-Id: I761848ce6abc3f75a5b2083b79008f236e08b4fb
diff --git a/filesystem/super_image.go b/filesystem/super_image.go
index 1583c0b..0f8f614 100644
--- a/filesystem/super_image.go
+++ b/filesystem/super_image.go
@@ -44,7 +44,7 @@
 	// the block device where metadata for dynamic partitions is stored
 	Metadata_device *string
 	// the super partition block device list
-	Block_devices *string
+	Block_devices []string
 	// whether A/B updater is used
 	Ab_update *bool
 	// whether dynamic partitions is enabled on devices that were launched without this support
@@ -153,7 +153,9 @@
 	addStr("dynamic_partition_retrofit", strconv.FormatBool(proptools.Bool(s.properties.Retrofit)))
 	addStr("lpmake", "lpmake")
 	addStr("super_metadata_device", proptools.String(s.properties.Metadata_device))
-	addStr("super_block_devices", proptools.String(s.properties.Block_devices))
+	if len(s.properties.Block_devices) > 0 {
+		addStr("super_block_devices", strings.Join(s.properties.Block_devices, " "))
+	}
 	addStr("super_super_device_size", strconv.Itoa(proptools.Int(s.properties.Size)))
 	var groups, partitionList []string
 	for _, groupInfo := range s.properties.Partition_groups {