New API for creating reStructuredText directives
add SubstitutionDefinition to document tree elements
first skeleton of directive parser