Require for MC productions that decoding key is committed

As discussed here https://mattermost.web.cern.ch/lhcb/pl/bt5ghjjjaiyq7fzktu5adfqaxo by @roneil :

# WARNING: Created new key 2e686cfe - to publish the corresponding decoding table, please do `git -C /pool/condor/dir_2560798/dfUNDm9xdj2n0YTDjqK9jVWpABFKDmABFKDm7t1QDmABFKDmRAbWim/DIRAC_giysGcpilot/712480259/lhcb-metainfo/.git push origin key-2e686cfe`
# WARNING: Created new key 693c89ea - to publish the corresponding decoding table, please do `git -C /pool/condor/dir_2560798/dfUNDm9xdj2n0YTDjqK9jVWpABFKDmABFKDm7t1QDmABFKDmRAbWim/DIRAC_giysGcpilot/712480259/lhcb-metainfo/.git push origin key-693c89ea`

it looks like the decoding keys were not pushed to the gitlab repo.

There is the option to flag this up in productions when following the recipe described here:

LHCb!3842 (merged)

We can add the following lines

from PyConf.application import metainfo_repos, retrieve_encoding_dictionary
options.write_decoding_keys_to_git = False
metainfo_repos.global_bind(repos=[]) # only use repos on cvmfs
retrieve_encoding_dictionary.global_bind(require_key_present=True) # require key is in repo

to the module which defines the settings https://gitlab.cern.ch/lhcb/Moore/-/blob/master/Hlt/Moore/python/Moore/production.py#L48 .

However, as the module is also used in nightly tests, we have to protect this setting by a command line argument only set in production.