[osx] Allow the user to configure a NSApplication subclass and use that instead.

Fixes http://hipbyte.myjetbrains.com/youtrack/issue/RM-539
[osx] Merge all Info.plist data in one place and ensure there's always a principal class.
fix a bug where vendor library contained in gem causes a build error with system bundled ruby

http://hipbyte.myjetbrains.com/youtrack/issue/RM-553
add validation into app.vendor_project('xxx', :xcode, ...) because xcodebuild command fails if xcode project directory is not writable
use absolute xcodebuild path to remove "xcodebuild: error" message

http://hipbyte.myjetbrains.com/youtrack/issue/RM-562
[iOS8] fix where Instruments does not launch

http://hipbyte.myjetbrains.com/youtrack/issue/RM-563

Since iOS 8, simulator UUID will be required to launch.
[iOS8] fix a bug which invalid template path would be generated

If specify template with `rake profile template="XXXX"',
it will generate invalid template path which contains unnecessary `"' as following.

		<key>XrayTemplatePath</key>
		<string>"/Applications/Xcode6-Beta5.app/Contents/Applications/Instruments.app/Contents/Resources/templates/Time Profiler.tracetemplate</string>
[Instruments] Always try to find the `instrument` CLI tool in the right `xcode_dir`.
[Instruments] Ensure we only deal with the templates part of the output.
[Instruments] All instrument templates seem to work with Xcode 6.
clear xcode_version value when change xcode dir path

http://hipbyte.myjetbrains.com/youtrack/issue/RM-566

If change the Xcode dir path via "app.xcode_dir", already cache the @xcode_version value with '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild'.
We cannot retrieve iOS 8 simulator device name from Xcode 5.
So, 'iPhone 4s / iOS 7' simulator is always launched as default.
[iOS8] move embedded_frameworks configurations to xcode_config.rb in order to use OSX and iOS platform

http://hipbyte.myjetbrains.com/youtrack/issue/RM-558
[iOS8] fix @executable_path for iOS platform

http://hipbyte.myjetbrains.com/youtrack/issue/RM-558
pass '-Wl,-no_pie' to the linker in order to remove the 'ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in _vm_gc_wb from...' message, please revert the change if it causes any problem
[iOS8] add codesigning for embedded frameworks

http://hipbyte.myjetbrains.com/youtrack/issue/RM-558