Extract abstract sorter.
Remove component from Occurrence.
Create dedicated steps while processing parts and subparts.

This allows sorting and more specific actions on parts and subparts in
the future.
Format test case.
Handle suffix, too.
Fix test file to only test sorting without modification of content.
Move empty template into content.
Remove empty template in expected result.
Sort language parts.