[JuliaLowering] Support new `@__FUNCTION__`/`thisfunction` (#61150)
Became an issue in https://github.com/JuliaLang/julia/pull/45399 (cc
@BioTurboNick).
- Port https://github.com/JuliaLang/julia/pull/58940 and steal most
tests (we should figure out how to just run the existing tests soon)
- Add a version of `@__FUNCTION__` that preserves provenance
- Catch misuse in the validator
- Fix a bug where generated functions weren't being counted as functions