First pass at CTS tests for split APKs.

Defines a CtsSplitApp which includes a base APK, along with splits
for density, API version, and locale.  New host-side tests install
various combinations of these split APKs to assert correct behavior.

Specifically verifies that split resources can change manifest
enabled settings, and that the best-matching drawable resources
are picked based on installed splits.

Also includes native code for all supported architectures in
separate splits, verifying that we can install various combinations
and load them correctly.  All native code is checked in as prebuilts
since the normal build system can only handle two ABIs max.  See the
build_libs.sh script to rebuild and generate all the makefiles from
a single template.

Verifies that security is enforced when installing splits with
different version codes or signing certificates.

Currently only uses "pm" commands directly for managing atomic
install sessions, which is what other SDK tools will be using.  Future
changes will add public API tests.

Bug: 16947729
Change-Id: I21cdcad03870311daad93f551f2555fd27ed8378
48 files changed