Improve comments about priority_of_giving_parent_comments
Fix method name for generating list args for block child node

Both ClassSelectionList and PromiseTypeList as children of blocks
(body/bundle), not blocks themselves.
Number assertion output for easier reading
Fix #2: EOL comment after bundle/body name becomes line comment for the block
Fix #8: Single constraint comments move to the end of line
CLI to support stdin as alternative to input file
Initial unit tests for command line interface, and fix found bugs

- Fix stdout UTF-8 encoding
- Fix not writing output file when --out parameter give if input file was already beautiful
Fix crash if EOF was encountered
Remove unnecessary import
Remove unused ListBase.item_at
Remove unnecessary semicolons
Separate list classes for easier navigation

No changes to logic; just moving code around.
Fix #7: Avoid open brace comment changing order with standalone comment
Fix 6: First standalone comment under promise type treated as a line comment