Introduce infrastructure to support saving results to a file

In upcoming commits we will add support for various result file types.
Currently we include only a null implementation.
7 files changed