Merge remote-tracking branch 'origin/swift-3.1-branch' into stable

* origin/swift-3.1-branch:
  Avoid multiple -Wunreachable-code diagnostics that are triggered by the same source range and use the unary operator fixit only when it actually silences the warning.