Performance improvements.

- `ToolchainIsXcodeXOrBetter` methods are going to be called in enough number of places to be finally cached.
- As soon as interacting with CoreSimulator framework is a little bit painful, `simulatedDevice` and `simulatedRuntime` could be cached as soon as they are not changed during tests.