Deduplicate multiple $(inherit-product) calls

The makefile product inheritance code was supposed
to deduplicate inheritance calls, but there was
a bug in the uniq-word function that caused it
to not work when duplicated words were adjacent.
$(subst |||x|||,||| |||,|||x|||x|||) produces
||| |||x||| instead of ||| ||| |||.

Rewrite the uniq-word function to fix the bug.

This issue was causing a discrepency between
the makefile and starlark based product configurations,
as the starlark implementation didn't have this bug.

Bug: 237019892
Test: ./build/bazel/ci/rbc_dashboard.py --quick on an internal-only product
Change-Id: I543a80746412ffcb9743203399413a0e707111e6
diff --git a/core/product.mk b/core/product.mk
index 53fee1c..7351313 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -404,7 +404,7 @@
     $(eval current_mk := $(strip $(word 1,$(_include_stack)))) \
     $(eval inherit_var := PRODUCTS.$(current_mk).INHERITS_FROM) \
     $(eval $(inherit_var) := $(sort $($(inherit_var)) $(np))) \
-    $(call dump-inherit,$(strip $(word 1,$(_include_stack))),$(1)) \
+    $(call dump-inherit,$(current_mk),$(1)) \
     $(call dump-config-vals,$(current_mk),inherit))
 endef