Refactor XCScheme API to enable multiple targets

This is my first time writing Ruby, so please let me know if I've done anything that's not idiomatic. Also this is a breaking API change, let me know if there's a way to handle that.

With the changes to the API, all existing specs still pass. I added a spec for a project that explicitly builds and tests multiple targets.

Thanks!