This commit allows the configuration of a custom `ApplicationStartup`
implementation on the `SpringApplication` and
`SpringApplicationBuilder` for collecting `StartupStep` metrics.
This also instruments Spring Boot run listeners and server-specific
application context implementations for collecting Spring Boot
application events during startup.
Closes gh-22600