Reporting

Symmetric Test with approved exceptions:
![image](https://f.cloud.github.com/assets/453152/931073/975ed3e4-0021-11e3-85f9-7775a7aae5b2.png)

Normal convention with approved exceptions
![image](https://f.cloud.github.com/assets/453152/931076/a3e713f6-0021-11e3-919b-15a0359d5d6d.png)

Failed convention
![image](https://f.cloud.github.com/assets/453152/931080/ae65b17a-0021-11e3-93dc-458bc9f409c6.png)

Only text reporting is available at the moment, but it is pluggable, and wanted to get feedback on many of the changes before writing more renderers

Also, I hate the naming on some of the interfaces. But can fix that later