Sema: add a strategy for handling costly source locations

Now you can pass `.unneeded` for a `LazySrcLoc` and if there ended up
being a compile error that needed it, you'll get
`error.NeededSourceLocation`.

Callsites can now exploit this error to do the expensive computation
to produce a source location object and then repeat the operation.
3c5927fb87Andrew Kelley committed on 7/20/2021, 7:19:16 PMparentdbd3529
3 files changedLine totals unavailable