Partially fix generated libs test on Soong
Partially fix generated libs test on Soong

We need to create variants of our custom modules (genBackend) because
they can be used as dependencies of native Soong modules like cc_binary,
and it expects it's dependencies to have particular variants, set by
particular mutator (first solution tried of providing our own mutator
was not working).

Variants we now provide:
- os and arch, set by android.InitAndroidArchModule()
- image, set by ImageMutator
- link and version, set by LinkageMutator and VersionMutator

For that our module have to implement android.ImageInterface and
android.LinkableInterface.

Because implementing android.LinkableInterface contradicts with already
used genrule.SourceFileGenerator, used for bob_generate_source (only one
can be used at the same time), we have to split into 2 separate modules:

- genBackend for bob_generate_source and bob_transform_source
- genLibraryBackend for bob_generate_shared_library and
bob_generate_static_library

We additionally use genBinaryBackend for bob_generate_binary.
To ease recognition if library is static or shared, we introduce
separate genStaticLibraryBackend and genSharedLibraryBackend.

Additional fixes are:
- providing missing "module_dir" arg
- adapting AndroidMkEntries class depending on type was required because
of logic in .mk files (we need to use particular class that Soong
supports)
- adding LOCAL_UNINSTALLABLE_MODULE= true was needed for DATA class to
prevent installing stuff onto partition

Change-Id: I8e4d8fe8b8ba8d62f143089fad9562cff075d1ad
Signed-off-by: Michal Przeplata <e7e66087ea2b6f4d3eb01c4545d71a74d74ace14@arm.com>

ARM-software/bob-build,ARM-software/bob-build,ARM-software/bob-build,ARM-software/bob-build,ARM-software/bob-build