## Meta -
OS:  OSX
Selenium Version:  3.5.2 (head of repo)
Browser:  iOS Safari
Browser Version:  iOS 10.3

## Expected Behavior - Using Selenium Grid the platformName would remain unchanged (keep behavior from 3.4)

## Actual Behavior - With Selenium Grid the platformName is overridden by platform in ImmutableCapabilities because iOS is not defined in Platform.java

## Steps to reproduce -
(already found a temporary fix with help from Simon and Jim)
Run an iOS test against SauceLabs with 3.4 and 3.5. As part of NewSessionPayload (in 3.5) when creating the capabilities iOS is an unrecognized platform so platformName (originally iOS) is set to platform (Mac), providing a bad set of capabilities for the test to actually run.
if (current == null) {
      current = extractFromSysProperty(System.getProperty("os.name"));
      String version = System.getProperty("os.version", "0.0.0");
      int major = 0;
      int min = 0;
      Pattern pattern = Pattern.compile("^(\\d+)\\.(\\d+).*");
      Matcher matcher = pattern.matcher(version);
      if (matcher.matches()) {
        try {
          major = Integer.parseInt(matcher.group(1));
          min = Integer.parseInt(matcher.group(2));
        } catch (NumberFormatException e) {
          
        }
      }
      current.majorVersion = major;
      current.minorVersion = min;
    }
    return current;
  }
  /**
   * Extracts platforms based on system properties in Java and uses a heuristic to determine the
   * most likely operating system.  If unable to determine the operating system, it will default to
   * UNIX.
   *
   * @param osName the operating system name to determine the platform of
   * @return the most likely platform based on given operating system name
   */
  public static Platform extractFromSysProperty(String osName) {
    return extractFromSysProperty(osName, System.getProperty("os.version"));