rename interface to ISuccessionStrategy
add AbstractSuccessionStrategy base class DRY strategies
implement Seniority succession strategy
add parsing for seniority
strategies: allow passing multiple preference filters
Storage: parse multiple preference filters
remove GenderPreference.Kind.none

Instead just don't specify a gender preference filter.
fix namespaces
Inspector: add gender to person details
Inspector: make person name two-column
ISuccessionStrategy: add Title property
IPreferenceFilter: add Title parameter to methods

As a result of this, IPreferenceFilters can no longer implement
IComparer<Person> directly. To solve this, add a private class
AbstractSuccessionStrategy.PreferenceFilterComparer that, given
an IPreferenceFilter and a Title, implements IComparer<Person>
by delegating calls to the IPreferenceFilter.
add new PorphyrogeniturePreferenceFilter
Merge branch 'rework-succession'