cpp: add basic support for inheritance in workflow

- make includer mutable. this seems more sensible rather than allowing
  non-const access to the entire state.
- make all activities const, now includer is mutable
agile: open Move extractor out of includer
agile: open Move includer out of file info factory
cpp: tidy-up namespace and qualified name transformation
cpp: add support for visitors
cpp: use new transformers
cpp: remove legacy transformer
agile: clock time for task
cpp: add registrar and namespace documentation files to includers
cmake: add message for release builds