Combine package parsing thread pools

A thread pool was being spawned for every partition,
creating potentially 20 different threads. This can be
constrained to MAX_THREADS (4) by passing the ExecutorService
through the scan calls and only destroying it at the end.

It's unclear how much of a benefit this has, but cleaning up
these threads can't be a bad thing.

Test: manual device scans/boots properly
Test: atest ParallelPackageParserTest

Bug: 146081131

Change-Id: If1f0cd4b2809000b5bb19a6f64a329619f4d45f4
4 files changed