renamed LinearDateList and the corresponding interfaces to ConsecutiveDateStream and added some documentation
moved PrioritizeModifier classes to their own package
- converted traits from a simple list to a key-value-map
- DatesAggregationService & TraitDateCombiner now count how many blocked dates overlap via the traits map
- PrioritizedDateCombiner now delegates most decision back to the TraitDateCombiner
- accepted dates now also have a blocked date trait - not just implicitly
removed unused constructors of TraitDate and PrioritizedDate
fixed possible NullPointerException
OptimalDatePrioritizeModifier now also takes the number of members into account
refactored the ConsecutiveDateStreamModifier interface to be more generic and to not only depend 3 dates