[WiP] [FIXED JENKINS-24380] Use build numbers as IDs

[JENKINS-24380](https://issues.jenkins-ci.org/browse/JENKINS-24380)

The idea is that the directory of the build is named after its number, which greatly simplifies a lot of lazy-loading code, as well as making “out-of-order builds” an impossibility, and fixes some miscellaneous issues with rapidly created builds and timezone changes.

For newly created builds, the `number` would be implied by the directory name, the `id` would also be the stringified `number`, and the `timestamp` would just be a plain old field stored in `build.xml`.

Does not yet deal with historical records. I would do this as a one-time migration step (so that runtime lookup code is not made more complicated or slow again). The `number` would be stripped out of the XML and used to rename the build directory. For compatibility with existing references from other code, the `id` would be captured from the old directory name before it is renamed, and stored as a persistent field in `build.xml`; the `timestamp` would likewise be parsed out of that `id` and stored. `RunMap` would also need to provide `AbstractLazyLoadRunMap` with a map from historical IDs to numbers so it can correctly service lookups by ID; this mapping could be created in a single file (per job) during the migration.
Ah, this has to actually be implemented in order for `MatrixConfiguration.newBuild` to create a `MatrixRun` with a timestamp matching that of its parent.