Error out if `%{max-jobs}` is substituted in `Element.node_subst_member()`
Background
Mentioning %{max-jobs} directly in build commands causes the generated cache keys to be different depending on the host environment and any dynamic resolution of max-jobs, which is why it should always be used with an environment-nocache env var instead.
Had to fix this recently in gnome-build-meta
Task description
Make sure that Element.node_subst_member() raises an informative error if it ends up substituting the special, protected max-jobs variable.
-
Add the new LoadError and LoadErrorReason -
Raise the error in the correct condition -
Add a test case asserting we fail in the way we expect, if max-jobsis specified in build commands