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

* origin/swift-3.0-branch:
  When importing classes and structs with anonymous structs, it is critical that distinct anonymous structs remain distinct despite having similar layout.