Add whitelist support for settable config variables

I'm not sure adding `all` to the name makes it not seem like that. We could call it `are_keys_in_whitelist`, but then the case statement is weird. I'll think about it. I may change this altogether to make the second issue go away. While the erlang standard lib does stuff like this all the time, it makes me feel icky. Probably going to change the name and return `ok` or `{error, _}`