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

* origin/swift-3.1-branch:
  [analyzer] Construct temporary objects of correct types, destroy them properly.