Move (pull up) BuildVariable methods from AbstractBuild to Run

This refactoring moves `getBuildVariables()` and `getBuildVariableResolver()` from `AbstractBuild` to `Run`.

Also modifies `ParameterValue` and `BuildVariableContributor` (and impls) to use `Run` instead of `AbstractBuild`.  I don't think there's a need to create deprecated versions of these methods.

The reason for these refactorings... to help generalise `token-macro-plugin` to use `Run` instead of `AbstractBuild`.  That in turn will help us workflow-enable some plugins that depend on token-macro.