Use dedicated classes for ApiVersionResolver implementations

Some ApiVersionResolver implementations are very simple and currently implemented as lambdas. As proposed in springdoc/springdoc-openapi#2975 (comment), having dedicated classes would make it possible to determine which strategy is in use, and it would also be helpful for debugging.