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).
- [x] 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.
- [x] Fix the examples
- [x] Present a warning if all the specs of a Pod are not in the same white list as it will not work.
- [x] Always check that the xcconfig are `$(inherited)` in the user project (instead only during the first integration).

###### Future Step

- [ ] Investigate if a target per spec/subspec is feasible
- [ ] Remove the environment header
- [ ] The `acknowledgements.plist` files include all the Pods regardless of the build configuration
- [ ] All the resources are copied regardless of the build configurations
- [ ] Make a shared xcconfig to facilitate import in users xcconfigs
- [ ] Decide about the case of the xcconfigs

###### Removed

- ~~Set target dependencies (by @irrationalfab)~~.
- ~~Only generate one xcconfig when the user has not specified any configurations to whitelist pods for. (removed by @irrationalfab)~~