Add xcconfig support

Add XCConfigParser class to parse xcconfig files.

Add baseConfigurationReference to XCBuildConfiguration.

Add prepareBaseConfiguration to parse referenced xcconfig file.

Change PBXProject to take an error when init.

Make build fallback stuff internal and add a prepare method
to PBXProject that takes build env, target and configuration that
in turn builds fallback env and calls prepareBaseConfiguration.