Add sharding support for module generator
Previously the module generator is implemented as a target preparer. However, a target preparer is executed after the sharding process has finished. The only way to make the generated modules available for sharding without making changes to TradeFed's core code is to disguise this module generator as an instance of IShardableTest and declare it separately in test plan config. This is hacky, and in the long term a TradeFed centered solution is desired. For more details, see go/sharding-hack-for-module-gen.
Test: atest :presubmit
Test: Verified with sharding option in go/forrest-ui https://android-build.googleplex.com/builds/forrest/run/L36400000795517256
7 files changed