Abstract identifiers code into identity lib
Move the identifiers code into a shared library. This makes it easier to update all identifier schemes used across all our APIs.
Additionally, add the ability to have aliases for identifiers, which allows us to make identifiers back-compatible in code.
Part of https://gitlab.developers.cam.ac.uk/uis/devops/iam/card-database/card-api/-/issues/105, and https://gitlab.developers.cam.ac.uk/uis/devops/iam/staff-identity-api/-/issues/7
Edited by Monty Dawson