Avoid rounding up to 100% when not all specs passed

The progress formatter can be a bit misleading. It shows 100% and fully green when something is broken/failed but there are enough specs that this is lost when rounding up.

![screen shot 2014-07-04 at 17 26 04](https://cloud.githubusercontent.com/assets/783827/3484030/f176ce16-039c-11e4-947a-47f899dda5c1.png)

This stops this happening by using floor instead of round and dealing with results between 0 and 1.