rework deprecated config
rework deprecated config

implement deprecations via validator on config

this processes config *before it is loaded* and handles deprecations:

- warn about collisions
- deprecated config is ignored if the same config is set via its new name

runtime use of the deprecated names is handled via simple properties, to ensure values are kept in-sync

jupyterhub/kubespawner,yuvipanda/jupyterhub-kubernetes-spawner