Dump the values of configurable properties in soong-debug-info.json.

This moves the debug json formatting to the GenerateBuildActions stage
for each module, to be able to use the module's ConfigurableEvaluator
without prolonging its lifetime significantly. That also helps
parallelising the work.

Test: m nothing
      with and without GENERATE_SOONG_DEBUG=true
Test: time env GENERATE_SOONG_DEBUG=true m nothing
      with and without the patch.
      -  Check that some `Configurable` properties get their proper
         values.
      -  Compare the list of name+variant in the json files and ensure
         no modules are missing.
      -  Observe that the time taken in the "generating ninja file"
         stage dropped from 3m35s to 1m54s.
Test: cd build/blueprint ; go test ./...
Test: cd build/soong ; go test ./...
Flag: EXEMPT debug tooling only
Bug: 349177664
Change-Id: I298821936cb4b8aa6f22e5e5294578ec8ba9e4c1
3 files changed