storm-submit-tools: modernize Java code, no API surface changes

Safe modernization of the dependency resolver tool, keeping
maven-resolver 1.9.27 and the existing transport-http stack:

- Drop Guava Iterables.filter/Predicate for Stream API + method ref
- Replace deprecated new URL(String) with URI/URI.toURL (URL ctor is
  flagged for removal in JDK 20+)
- catch (Throwable) -> catch (Exception); let Errors propagate
- DependencyResolver: setRoot(deps[0])+addDependency(rest) was a subtle
  bug (the first dep was promoted to "root" of the resolution which
  alters scope/exclusion handling); replaced with setDependencies(deps)
- Collections.EMPTY_LIST -> Collections.emptyList(); size()==0 -> isEmpty()
- Drop unused Booter.newLocalRepository()
- Make RepositorySystemFactory and Booter final + private ctor

Note on a possible Resolver 2.x / supplier-pattern upgrade: the
maven-resolver-supplier artifact in the 2.x line is still alpha (last
release 2.0.0-alpha-8); Maven 4 is at rc-5 with a new
org.apache.maven.api.Session abstraction that is a much larger code
change. Keeping the existing DefaultServiceLocator path until that
ecosystem stabilizes; the Java cleanups here apply regardless of which
supplier path we eventually pick.
4 files changed