Merge pull request #101 from pereckerdal/reference_for_path

PBXNativeTarget.add_dependency support for subproject targets
[Scheme] #add_build_target aggregate target support

Before this patch, the method would raise an error
on aggregate targets. The method still doesn't
support PBXLegacyTargets, since I don't know how
they behave.
[Scheme] Fix ReferencedContainer generation

Generate correct ReferencedContainer attribute
when the Xcode project has a non-empty
`projectDirPath`.

The ReferencedContainer attribute is actually
relative to the projectDirPath.

I ran into a problem where Xcode would generate
duplicate schemes of the hidden schemes that are
generated by CocoaPods because the
ReferencedContainer attribute that CocoaPods
generates was different from what Xcode generated
on an Xcode project that was generated by Cmake in
a certain way.