Revert "Revert "Soong support for namespaces""

This mostly reverts commit 178d5fefc0cea9d0f031c0bdee125b9d960f32c3
and mostly reapplies change I6d3e52ef62c4cabe85b9a135a54de0e1a6aab29c .

Bug: 65683273
Test: build/soong/scripts/diff_build_graphs.sh \
      --products=aosp_arm \
      'build/blueprint:work^ build/soong:work^' \
      'build/blueprint:work build/soong:work'
      # and see that the only changes were:
      # 1. adding some new files
      # 2. changing some line numbers
Test: m -j nothing # which runs unit tests

Change-Id: I32baae00277a547fdcdd1c2219fe6625ee0e45d7
diff --git a/android/testing.go b/android/testing.go
index fc58cec..4f2a2da 100644
--- a/android/testing.go
+++ b/android/testing.go
@@ -23,9 +23,16 @@
 )
 
 func NewTestContext() *TestContext {
-	return &TestContext{
+	ctx := &TestContext{
 		Context: blueprint.NewContext(),
 	}
+
+	namespaceExportFilter := func(namespace *Namespace) bool {
+		return true
+	}
+	ctx.SetNameInterface(NewNameResolver(namespaceExportFilter))
+
+	return ctx
 }
 
 func NewTestArchContext() *TestContext {