An interface to represent a source file location. This is used to
communicate location information between the core debugger and debugger
extenders that want to be able to display the IP for locations where
there is not a breakpoint owned by the extender. (Use cases are
for when a step, pop back to here, or run to cursor operation causes
us to stop in a source file owned by the extender at a location
where there is not an extender-owned breakpoint.