User registration should be available as an optional feature (with a site preference disabled by default).
It should allow the following:
- Simple registration of a pure user account (!413)
- Verification of provided e-mail address (!413 )
- Linking an existing person, if one exists with the validated e-mail address (optional, additional preference) (see #332 (closed))
- Creating a new person if none exist (see #332 (closed))
- Guarding registration with an invitation code and/or invitation link (preferably both) (!450)
- Linking invitation codes/links to an existing person to invite exactly this one person (!450)
If an existing library is used, it must allow hooking into registration, to create accounts in linked backends (like in AlekSIS-App-POSIX/AlekSIS-App-LDAP).