[SemanticARCOpts] Strip some lexical borrow scopes.
[SemanticARCOpts] Strip some lexical borrow scopes.

If a value's lifetime is preserved by a different lexical scope, it is
fine to strip a different scope.  Specifically, if it is preserved by
being a guaranteed argument or a nested borrow of an outer lexical
scope, allow a lexical borrow scope to be stripped.

gregomni/swift,benlangmuir/swift,atrick/swift,JGiola/swift,benlangmuir/swift,apple/swift,apple/swift,ahoppen/swift,ahoppen/swift,rudkx/swift,roambotics/swift,JGiola/swift,ahoppen/swift,benlangmuir/swift,rudkx/swift,atrick/swift,benlangmuir/swift,apple/swift,gregomni/swift,glessard/swift,gregomni/swift,rudkx/swift,glessard/swift,rudkx/swift,roambotics/swift,roambotics/swift,ahoppen/swift,rudkx/swift,ahoppen/swift,glessard/swift,glessard/swift,benlangmuir/swift,rudkx/swift,apple/swift,roambotics/swift,atrick/swift,apple/swift,JGiola/swift,roambotics/swift,apple/swift,glessard/swift,benlangmuir/swift,gregomni/swift,glessard/swift,gregomni/swift,roambotics/swift,gregomni/swift,atrick/swift,JGiola/swift,JGiola/swift,JGiola/swift,atrick/swift,ahoppen/swift,atrick/swift