Pedigree representation
New pedigree representation using maps for members and nests.
This introduces a new immutable in-memory representation of a pedigree. Members are in a Map indexed by a string key. Nests are in a Map indexed by a Set of string keys (the parents).
The JSON serialization is aligned with this new representation. The JSON Schema is not yet updated.
The layout engine and SVG rendering are not updated and first do a quick translation of the new representation to the old representation.
All non-structural fields on nests, pregnancies and members are in a Map structure and there is in principle no difference between known and custom columns.