added abstraction for handling results
converted IConventionReportRenderer to IResultsProcessor

This seems like a better abstraction, especially that some of them actually not render anything but approve/validate the results.
This seems like a better abstraction not imposing any particular way the result should be handled
added ApproveResultsProcessor + some renames
moved knowledge of approved exceptions out of ConventionContext
using ApproveResultsProcessor
folded HtmlReportRenderer to be treated just like any other processor
evaluating success/failure in ConvenionResult
moved logic out of the static class

and into ConventionContext
moved formatting into renderers

They should be in control of how they want the data formatted. We still need to work on how to actually put the two together...
it's not up to the formatter to decide pass/fail
overhauled reporting

ConventionResult now holds formatted result and recommended file extension. This will save us from having to have a copy of text renderer in almost any other renderer.
Also this gives us flexibility to either use existing result, or overwrite it (or ignore and render your own, but not save it back for validation, like HTML renderer does
Merge pull request #30 from kkozmic/reportingAttempt3

Reporting attempt 3