Pulled apart the Result base class.

We now have a ResultRunner (part of the core model) and a Result abstract base class.
Thanks for the line endings, Windows. This commit will be hard to diff, sorry :(