Migrate the site generator to Java 21

Bump source/target to release 21 and update the GitHub Actions workflow
to JDK 21 (Temurin). The previous toolchain pinned Java 8 and several
dependencies that no longer run on modern JDKs.

Drop Lombok entirely. The annotation processor pinned at 1.18.12 broke
on JDK 17+, and the surface area used in the project (@Data, @Builder,
@RequiredArgsConstructor, @AllArgsConstructor, @EqualsAndHashCode) is
small enough to replace with hand-written constructors, getters and
setters or with records where the type is immutable. Records are used
for Stats, Javadocs.Content, AbstractDownloadsNG.Results,
Downloads.ArtifactDescription and GitHubContributors.Contributor.

Bump JBake from 2.4.0 to 2.6.7. The 2.4 line still depends on
pegdown/parboiled which calls ClassLoader.findLoadedClass via
reflection, blocked on JDK 17+. JBake 2.6 swaps in flexmark and works
on modern JDKs. ConfigUtil moved to org.jbake.app.configuration and
the Parser/Oven constructors now take a JBakeConfiguration, so JBake.java
and GroupedIndex.java were updated accordingly.

Bump asciidoctorj to 2.4.3 (the version JBake 2.6 was built against),
Groovy to 3.0.21, OrientDB to 3.2.51 and swizzle to 1.3. The JBake POM
moved commons-configuration and orientdb-core to runtime scope, so they
are now declared explicitly because JBake.java and GroupedIndex.java
reference them directly.

OrientDB 3.2.51 transitively pulls GraalVM 21.3.5, which still calls
sun.misc.Unsafe.ensureClassInitialized (removed in JDK 22+). The
GraalJS engine is not needed by JBake, so the graal-sdk, truffle-api,
js, regex, js-scriptengine, profiler and chromeinspector artifacts are
excluded from orientdb-core.

The transitive jffi 1.3.1 (via JRuby/asciidoctorj) only ships
i386/x86_64 native stubs. Pin jffi 1.3.13 (both the jar and the
:native classifier) so the build works on Apple Silicon.

Drop the redundant slf4j-log4j12 binding pulled by jgit.pgm, and rework
LearningLinks.getImports to walk Java files with Files.walk plus a
regex instead of the tomitribe-tio Match/Unique pipeline, which used
tomitribe-util XxHash64 and was tripping the JDK-removed
DirectByteBuffer(long, int, Object) constructor.
15 files changed