Add exporter mechanism for catalyst

This allow users to register arbitrary data exporter
which will then be called after each timestep to
export or process the data the way they want.

They just need to implement the 2 following methods:

   UpdatePipeline(time)
   Finalize()

Change-Id: Iabad816c3fac4a3ff60fffccf6fd59051fff8d27
Merge topic 'add-flexibility-to-catalyst-exporter' into next

4fc7d363 Add exporter mechanism for catalyst