[lldb][ObjC][NFC] Use llvm::StringRef::consume_front(char) where possible (#173012)
Now that the `llvm::StringRef::consume_front(char)` exists, lets use it
to replace the `consumeChar` helper.
Drive-by:
* Also use the overload where we previously had to pass a single
character as a string literal.
[libc++] Refactor std::equal to forward to the 3-leg overload if the size of the ranges is known (#171585)
This allows us to merge some optimizations common between the 3-leg
overload and the two ranges overload.
In some cases this could also improve performance, since we avoid
checking one of the iterators if the size if the ranges is known. I
haven't been able to show any improvements though.
This is also a prerequisite for optimizing `std::search`.
[libc++] Update locale.cpp to use some newer C++ features (#173286)
`locale.cpp` has been written a long time ago and has implemented a few
things again that have only been added in newer C++ versions. This
replaces the custom implementations with standard ones.