Add support for pod whitelisting based on build configuration.

This PR supersedes #1668. This is a rebased version and adds some more integration work. The Core counterpart can be found [here](https://github.com/CocoaPods/Core/tree/lookback-pods-by-config).

- [x] Coerce configuration name objects to String, meaning Symbol will work too.
- [x] Accept configuration name with singular `:configuration` option as well. 
- [x] Validate the configuration name that the user specifies for the whitelist in their Podfile.
- [x] Set the xcconfigs in already integrated user projects (by @irrationalfab).
- [ ] Set target dependencies (by @irrationalfab).
- [ ] Fix the environment header to properly reflect which pods are available to the user’s project. We can either generate env headers for each configuration or inject the configuration into the CPP definitions and use that to conditionally enable pods in one env header.

###### Removed

- ~~Only generate one xcconfig when the user has not specified any configurations to whitelist pods for. (removed by @irrationalfab)~~
Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.<br>Use `%q` only for strings that contain both single quotes and double quotes.