Move Xml Result output to the engine as a service

**For Discussion**

All classes related to creating of result files have been moved from the console runner to the engine, so that the features are available to other runners as well.

ResultWriters will be one of the types of addins we support, so the code is set up with that in mind even though we are still creating all the writer classes internally.

Let's look at and discuss the interfaces in particular. Remember that the engine.api assembly is intended to be non-versioned, so we want to leave as much runtime flexibility in the interfaces as we can.
This is the sort of place some sort of dependency injection would come in handy. Hopefully Mono.Addins or whatever we settle on will do that for us. It would be nice to get a list of everything that implements IResultWriter and have them return the string key that they answer to. Obviously not for this iteration, but something to think about later :smile: