[art] Fix, re-enable and expand 596-app-images

Previously the test was failing because the app image didn't contain any
preloaded classes. This CL introduces a profile which includes all the
classes we need pre-optimized for the test. Beyond fixing the test I
expanded the test coverage to include:

- Verifying classes that aren't in the profile aren't in the app image
  (i.e. this verifies that if a class isn't used during startup it won't
  be included in the app image)
- Verifying loading second app images works

Additionally I broke out each block of tests into individual test functions
and reformatted the Main.java file so that navigating it is a bit
easier.

It looks like 660-clinit depends on the same JNI code, so I made a
change there too.

Test: test/testrunner/testrunner.py -b --host -t 596-app-images -t 660-clinit
Bug: 149098478
Change-Id: I87a0c26989f045f8086df0a179ed0ddeeb11a471
9 files changed