Add custom variables usable in spawner

In and in particular in _expand_user_properties theree variables are substituted in strings.
These variables are: userid,username etc.
In particular the final goal is to be able to use custom variables to customize “extraAnnotations” in the singleuser stanza.
We need this since we want to use hashicorp annotations to allow the jupyter pod to have secrets that depend on the user and the project the user is working on.
Since there is no knowledge of the project or even groups the user belongs to and also there is no varialbe substitution for that part we need to be able to have a custom variable “my-custom-variable” so that in the annotation I can write something like this: '{my-custom-variable}'

The plan is to have a custom authenticator that recover groups and role from LDAP, or also looking on the pre_spawn hook if it can do something useful in this use case.