Support non-exact upper bound of HBoundType.

It used to not affect the analysis, but in order to recognize:
if (foo.getClass() == Foo.class)

We now need to differentiate between an exact and a non-exact
upper bound. Until now the "exact" flag on upper bounds was
there for convenience:
1) re-use of the same data structure
2) we mostly cared about HLoadClass as upper bounds.

Test: test-art-host
Test: master build with prebuilts
Test: apk scanner
Change-Id: I3a1f5e4d489a715a4545becee4c8c80f7d152fc0
1 file changed