Port of testing updates from ProGuardCORE:
* Updates to ClassPoolBuilder testutil
* Ability to run tests on multiple Java versions
* Update test dependencies
* Update CI to execute all Java version tests
With this change the stable ProGuard branch remains stable, independent
of changes in ProGuardCORE. This avoids the stable branch of ProGuard
failing if breaking changes are pushed to ProGuardCORE master branch.