Refactoring code in `mk_symbol` to remove stock specific code (#57214)
This PR lifts up some code that uses specific information about the
stock GC (`GC_OLD_MARKED` in the header bits). MMTk sets the log bits
for immortal objects in a side table, but this requires that they are
allocated with `jl_gc_permobj` instead of `jl_gc_perm_alloc`, since the
latter allocates a memory slot and not necessarily an object.