Rewrite autoscaling and enable easier configuration of worker selection and autoscaling behaviour

also, according to local testing, if the config_key does not exist, the value is null