Adopt the latest Gradle APIs
There are three main tasks here:
// TODO: implement using the InputChanges api // TODO level 1: implement SpotlessExtension::createFormatTasks, but using config avoidance // TODO level 2: override configure(String name, Class<T> clazz, Action<T> configure) so that it is lazy
Each TODO can be implemented independently, and should probably be in a separate PR (the bottom two could maybe be in one PR). As detailed in #600, this code is tested by :plugin-gradle:modernTest, and is not yet being used by end-users, though it is possible to opt-in with -PspotlessModern=true.
PRs welcome!