adds children collection to Progenitor
BC: renames Path.trim() to .trimRight()
adds Path.trimLeft()
adds constructor documentation to Documented trait
adds Lineage class and re-implements Progenitor based on it
adds child addition and removal to Progenitor
renames parent addition & removal methods in Lineage
improves lineage getter on Progenitor by making lineageName optional when there's only one lineage
moves parent getter in code (no functional change)
adds child manipulation integration test