make Lineality a simple enum
Storage: provide common method for enum parsing
add new IPreferenceFilter interface to replace GenderPreference
remove GenderPreference, replace with new GenderPreferenceFilter

Instead of 5 implementing classes, define behaviour of
GenderPreferenceFilter with enum. Update parsing to use
new preference system and pass it to Primogeniture con-
structor.
total rewrite of primogeniture

Instead of using GenderPreference to retrieve the
"next" child/sibling/uncle, retrieve all and use
the IPreferenceFilter to sort and filter them.

Going up from the deceased predecessor to the first
ruler, recursively search within the ancestor's des-
cendants.
update test data to parsing changes
rename Lineality enum values to uppercase
Inspector: reuse Genealogy.Succession.Lineality instead of redefining it
rename "lineality" to correct english "lineage"
change SuccessionStrategy: pass all previous reigns
first go at implementing a "proximity of blood" succession strategy
Inspector: add marriage suggestion window
Merge branch 'rework-succession'