Allow interfaces to operate on in-memory buffers with no source location info.
This patch avoids an assert PresumedLoc::getFilename if it is invalid.
Add unit tests for allowing the interface to operate on in-memory buffers with no
source location info.
It addresses all review comments of https://reviews.llvm.org/D88780.
Ref: https://reviews.llvm.org/D126271.
Co-authored-by: Vassil Vassilev <vvasilev@cern.ch>