Update `SpringApplicationShutdownHook` so the underlying set of
`Runnable` instances are stored in a `LinkedHashSet` rather than
a `Collections.newSetFromMap(new IdentityHashMap<>())`. This insures
that shutdown hooks are run in the order that they are added.
Fixes gh-43430