Rework `Libdl.dlsym()` and `jl_dlsym()`.
* Remove `jl_dlsym_e()` to instead be rolled into `jl_dlsym()` with a `throw_err` parameter, similar to `jl_load_dynamic_library()`.
* Fix https://github.com/JuliaLang/julia/issues/28881 by having `Libdl.dlsym()` return `nothing` on missing symbol, rather than `C_NULL`.