Define granular build profile

This change introduces six conditions to the module-info.json build and
the regular build step; they are:
- clean out dir
- Android.bp/Android.mk files had changed
- Build-related environment had changed
- source files had changed
- other reasons that trigger renewal of out/build.ninja
- incremental build

Bug: 271654778
Test: atest_unittests
Change-Id: Ic46525f3ec0c0aa02f1df2a8bb8659faf415c055
1 file changed