refactor list tree model

* introduce ListItem and ListContainer traits
* rename OrderedList to EnumList
* rename UnorderedList to BulletList
* introduce EnumFormat
* introduce BulletFormat
* keep format information in item and container classes
renaming elements: CodeSpan -> Literal, CodeBlock -> LiteralBlock
renaming elements: LinkDefinition -> ExternalLinkTarget