Create CaseResult and SuiteResult aggregates

These objects aggregate test execution results into a single coherent
result. This allows a consistent number of results from multiple
executions which is especially important for tools such as jenkins
which can trigger errors on varying number of completed tests.