Generate separate VTS models for each HAL version

Prior to this change, the VTS test generator produced the same code
for all HAL versions. This made it it difficult to introduce any structural
changes in newer versions. For example, it was difficult to rename
1.1@Operand.type to 1.2@Operand.extendedType (see b/121193452).
This change makes the VTS test generator aware of the output HAL version,
eliminating the problem.

Further, the generated VTS code is included in different test suites using
the following pattern:

     namespace V1_X {
     #include "all_generated_V1_Y_vts_tests.cpp"
     }

This can lead to an awkward situation when a 1.0 generated test exposes
1.2 features (see b/122740334). This change transforms the pattern to

     namespace V1_X {
     #include "V1_X/all_generated_V1_Y_vts_tests.cpp"
     }

which is the first step to removing the bad pattern altogether.

Bug: 124040454
Fix: 121193452
Bug: 122740334
Test: HAL_VERSION=all ./runtime/test/specs/generate_vts_test.sh
Test: ./runtime/test/specs/generate_test.sh --force
Change-Id: If3bfbdfa016cd32a39b8a63028481da7318d6e02
3 files changed