Enforce no nonexistent modules in PRODUCT_PACKAGES for sdk builds

Bug: 5430740
- Remove nonexistent names in PRODUCT_PACKAGES.
- Push down bluetooth-health, hostapd and wpa_supplicant.conf to
generic_no_telephony.mk and large_emu_hw.mk because they are not needed
by sdk builds.
- Remove core.mk from generic_armv5.mk and generic_x86.mk because they
  already inherit from generic.mk.

Change-Id: Ie44b95f1cae7ed0d4cf827ffce6a91d41902434d
diff --git a/core/main.mk b/core/main.mk
index 6841b36..5f01238 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -664,6 +664,11 @@
   $(info Removing from sdk:)$(foreach d,$(target_gnu_MODULES),$(info : $(d)))
   modules_to_install := \
               $(filter-out $(target_gnu_MODULES),$(modules_to_install))
+
+  # Ensure every module listed in PRODUCT_PACKAGES gets something installed
+  $(foreach m, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES), \
+      $(if $(strip $(ALL_MODULES.$(m).INSTALLED)),,\
+          $(error Module '$(m)' in PRODUCT_PACKAGES has nothing to install!)))
 endif