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

* origin/swift-4.0-branch:
  [Frontend] The macro that describes the Objective-C bool type should be defined for non Objective-C code as well
  [Sema] Improve the error diagnostic for dot destructor calls on pointer objects