om: model the complete set of classes required for a domain formatter
om: add includer and header guard formatters
om: start implementing the c++ boilerplate formatter