Generalise person relationships
Currently, we have only one kind of relationships between persons: guardians, which are hard-coded for school purposes.
We should turn this into a general relationship system, so we can dynamically add other kinds of relationships (e.g. emergency contacts).
Along the lines of #577 and #406, we should try to evaluate how to put this together with group roles, as with a generic person relationship, basically we get a "person role" of one person for another.
If it makes sense, we can also extend the "group type" concept to "person types", so that we effectively manage persons and groups using the same concepts.