cpp: plug file info factory into workflow

- split all file info activities int separate methods
- remove more workflow logic from file info factory and move it to
  workflow (transformer, sml types)