[gn] Support specifying product configurations in gni files

This adds support for specifying a product configuration in an imported
gni file instead of files with JSON data structures.  The contents are
the same - a set of monolith, preinstall, and available package
configurations - but gni files additionally support comments and
setting other flags.

This patch supports the existing 'fuchsia_products' arg as well to ease
transitioning.  The expected update flow is:

1.) Land support for product config .gni files
2.) Land .gni files for all supported product configs alongside
existing ones
3.) Update 'fx set' to map --products to gni files instead of package
configs
4.) Send PSA to everyone to re-run 'fx set', wait some period of time
5.) Remove support for fuchsia_products arg

Test:
* remove fuchsia_packages from args.gn
* add import("//path/to/products/name.gni")
* fx build, observe data

BLD-240 #comment

Change-Id: I0a23757eff3b34bdcb808e5ae407fb8e4a5d9623
2 files changed