This pull request updates the build to use version 2.4 of the Asciidoctor Gradle plugin. These changes are made in the first commit. One of the main benefits of the upgrade is that the asciidoctor task is now cacheable. To take full advantage of this, the second commit configures the PDF backend for snapshots builds. This will allow PDF documentation to be generated for snapshots, but for the cost to only be incurred when a change to the documentation has been made.