core: pkgrepo: support arbitrarily named pmaports directories
There was an oversight when this API was originally created and it implicitly assumed that the pmaports repository was always named "pmaports". This unfortunately broke some peoples workflows.
Introduce a new "pkgrepo_name()" function and adjust the codebase to use it, as well as adjusting pkgrepo internally to special case the "pmaports" repo so that it's always named pmaports no matter what the directory itself is named.
This is probably more complexity than we should be dealing with here, we should probably create a new type to encode this behaviour.
In addition, fix calling pmbootstrap init with --work which would half-work before, but you'd need to enter the new workdir a second time.
Fixes: #2412 (closed) Fixes: #2386 (closed)
Edited by Caleb Connolly