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.
- [ ] 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.
- [ ] ~~Only generate one xcconfig when the user has not specified any configurations to whitelist pods for.~~
- [ ] Set the xcconfigs in already integrated user projects (by @irrationalfab).
Prefer `detect` over `find`.<br>Line is too long. [109/80]