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

* origin/swift-4.0-branch:
  [index] Provide a more general index::generateUSRForMacro() that doesn't depend on having a PreprocessingRecord.