Build all D versions (for the purpose of caching them). Build order is in steps of decreasing powers of two.
Build D according to the given spec string (e.g. master+dmd#123).
Perform an incremental build, i.e. don't clean or fetch anything from remote repos
Build the customized D version. The result will be in resultDir.
Run tests.
We save a JSON file to the result directory with the build parameters.
Implements transient persistence for the current customization state.