Have preinst check for breaking deprecated config

What

We should add a command, that we run from pre-inst (but ignore failures as a result of file-not found, because preinst uses the current install's code) That checks for a list of deprecated keys. We would continue to maintain a single list of deprecated keys, and maybe some short text about them/links to docs, but otherwise would not maintain any other code related to them.

Why

When we remove a config field, in cases where user's installs will be broken otherwise, it would be nice to prevent them from installing until they update their config.

Related

With #2533 (closed) we will be able to increase our visibility of deprecated config while we still support code for it. This issue would be the next step after that.

Other

Today I tried doing this by making use of the show-config recipe, but we have currently broken the recipe with 9.5. Parsing gitlab.rb from preinst raw isn't a good solution, because it's a ruby file that can load other files for config. Also, because it's a full ruby file, and not just a config file, it's settings can't be nicely parsed with regex. (Hence why I was trying to have it spit out in json format first). We do have the nodes.json already in json format, but it may not properly represent what is currently in the gitlab.rb if reconfigure has not yet been run.