cpp: start integrating path details with transformation

- sml: fix weird issue with resolution due to external module path
- workflow: use facets to produce path spec details and pass them to
  transformer
- transformer: receive details (but do nothing with them for now)
- entity: use a container details instead of two separate containers
  for filename and includes